C程序的存储布局

C程序一般由正文段,初始化数据段,未初始化数据段,栈,堆组成。1 正文段正文段(text segment)存储的是CPU执行的机器指令。一般正文段是共享的,这样的话对于那些频繁执行的程序(比如编辑器、shell等)只需要在内存中保存一份副本就可以了。另外,正文段一般都是只读的,防止程序由于意外修改了自身的指令。2 初始化数据段一般又称为数据段(data segment),这里存储的是程序中定...

Linux文件I/O

0 文件描述符对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或者创建一个新文件时,内核项进程返回一个文件描述符。文件描述符的变化范围时0~OPEN_MAX。1 Linux文件I/O函数Linux系统中的大多数文件I/O只需要用到5个函数:open、read、write、lseek、close。int open(const char *path,...

重温C++——IO库

1. 概述为了概览一下C++的IO库,先来张cplusplus.com网站的图片:从这个图片我们基本上可以得到C++ IO库的所有基本信息:头文件、类、继承关系。为了更清楚的看出各个类的继承关系,我根据上面的图重新画了一个:从上面两个图可以看出,C++的IO都是流式的,主要分为三大类:普通流、文件流、字符串(string)流。这三大类的流各有各的特点,但也有许多共性,我们先来看一些共性。1....

C++类中的static成员

本文讨论C++类中的static成员的一些特性。我们知道静态成员的特点事它只属于类本身,不属于类的任何一个对象。在类加载的时候就初始化了。那么由这一个特性我们可以得出很多其他的一些特性:1, 调用方式方面的特点。我们调用静态成员的时候,不需要依赖于一个具体的类对象(当然也可以用对象去调用静态成员),可以直接用“类名::静态成员”这种方式去调用。2, 没有this指针。我们知道C++的每个类都...

Top-Level和Low-Level const

关于const,之前已经在多篇博客里面有介绍过了。我们知道const本身的含义很简单,就是被它修饰的对象不可以改变。但是,当他和指针或是引用一起使用的时候,我们往往比较难区分到底是指针(或引用)本身是const的,还是它所指向的对象是const的。最近读《C++ Primer》英文第五版的时候,发现了一个新的术语——Top-Level const和Low-Level const,他对于我们理...

C/C++中如何选择基本数据类型

《C++ Primer》中对于如何选择我们要使用的类型给出了四条建议:如果你知道变量不可能是负值的话,就使用无符号类型。在整数运算中尽量选择int类型,而不是short,因为short一般太小了;在实际中,long一般都是和int是一样长的,所以如果你的数据超出了int能表示的范围,就直接使用long long,而不是long。在算术表达式中不要使用不带符号修饰符的char类型,因为char...

Linux下通用的Makefile文件

经常在Linux下开发程序C/C++的人,Makefile文件必不可少。虽然Makefile有很多规则,但其实我们真正使用的时候往往都只会用到一些常用的特性。碰巧在网上看到一篇通用的C++ Makefile文件的博客,感觉写的不错,转载收藏一下。原文见:http://graybull.is-programmer.com/posts/37758.html。###################...
News
歇业...
最近评论
纳兹很强,流程很清楚
勇往直前Yarn管理的资源,在Flink WebUI 上提交的Job好像只能使用Session Clu...
1感谢
王桑~自问自答:Job的提交过程:下载应用所需的依赖执行main()方法提取 job graph将依...
王桑~您好,请教个问题flink 1.11后,引入了application mode,这个模是在集群...
称呼你还会打羽毛球?
二里庄本狱友前来观摩了
王叔叔纠正博主一个错误一般生产环境比较推荐Session ClusterJob Cluster用的比...
王叔叔文字写的真棒,是近几个月看过的最好的技术博客。博主原来也在菊花厂待过,也算是狱友了,祝好~
lay为什么两次心率会差这么多呢