随笔分类 - C
永远的C语言
摘要:前段时间见过一段代码,用于判断CPU的类型,是Big-Endian还是Little-Endian。代码如下(小端返回1,大端返回0):[代码]这段代码巧妙地利用了C语言中联合的特点,联合中的元素总是从低字节开始分配。但是这一特征我没有在TCPL上找到,不是到是不是与编译器的实现有关。但是C语言数组元素的地址分配却与CPU无关,无论大端小端,都是从低地址往高地址分配依次分配数组元素。所以,可以利用这...
阅读全文
摘要:C语言的内存分配方式在X86架构的CPU上是小端存放,低位存在低字节,高位存在高字节,在ARM上大小端均支持。以前经常会忘记,今天用到 memset 函数,可以很容易地推断出结论。代码如下:[代码]在X86的机器上输出结果如下:testArray[0] --> 3221203424testArray[1] --> 3221203428testArray[2] --> 322120...
阅读全文
摘要:在Unix/Linux系统中,创建一个子进程使用fork。当需要用exec另起门户的时候,fork的复制开销纯属多余,所以有了vfork。如果担心fork开销大,为什么不直接在thread里面用exec呢?换句话说,在这种情景下,vfork比thread好在哪?
阅读全文

浙公网安备 33010602011771号