C
zuosifengli
这个作者很懒,什么都没留下…
展开
-
小记
从程序员的角度看,只需简单地执行一条gcc命令就可以了;但从编译器的角度来看,却需要完成一系列非常繁杂的工作。首先,gcc需要调用预处理程序cpp,由它负责展开在源文件中定义的宏,并向其中插入#include语句所包含的内容;接着,gcc会调用ccl和as将处理后的源代码编译成目标代码;最后,gcc会调用链接程序ld,把生成的目标代码链接成一个可执行程序。原创 2012-02-28 14:05:42 · 369 阅读 · 0 评论 -
linux的C语言,自动编译工具
在Linux下面,编写makefile是一件辛苦的事情。因此,为了减轻程序员编写makefile的负担,人们发明了autoconf和automake这两个工具,可以很好地帮我们解决这个问题。 我们可以通过一个简单的示例来说明如何使用配置工具。(1)首先,编写源文件hello.c。[cpp] view plaincopy#include int转载 2012-03-01 14:22:07 · 651 阅读 · 0 评论 -
自动重置种子
产生伪随机数的魔术般的公式:int rand0(void){next = next * 1103515245 + 12345;return (unsigned int)(next / 65536) % 32768;} 在程序中,我们可以使用系统时钟这样不断变化的量的值来初始化种子值。int rand(void); 产生随机数void srand(int );重置原创 2012-02-29 22:14:03 · 1483 阅读 · 0 评论 -
C语言中字符串的\0和空格
\0 为字符串结束符,比如说: abcd (空格)cdefg;存入数组时,空格作为一个字符占有一个字节的空间,我们可以把它看着一个字符去处理。而“\0 ” 则是这个字符串的结束标识符,也占有一个字节的空间,表示字符串结束!char a[]={'a','b','c','d', ,'c','d','e','f','g','\0'}原创 2012-03-02 15:21:57 · 3782 阅读 · 0 评论 -
位掩码
有一种位掩码技术,用来处理同时存在多个布尔选项的情形。其思路即使用单个数字的每一位来判定是否选项成立,从而有效地把数字转换为布尔值标记组成的数组。掩码总每个选项都是2的幂。例如 var OPTION_A = 1; var OPTION_B = 2; var OPTION_C = 4; 通过这些选项定义,可以用按位或运算创建一个数字来包含多个设置选项。va转载 2012-03-19 15:35:50 · 3396 阅读 · 0 评论 -
fopen open
本文转自:http://hi.baidu.com/stoneboy100200/blog/item/f5f8bc37ecadecbbd0a2d39f.htmlfopen /open区别UNIX环境下的C对二进制流文件的读写有两套班子:1)fopen,fread,fwrite ; 2) open, read,write这里简单的介绍一下他们的区别。1. fopen系列是标准的C库转载 2012-04-10 11:29:21 · 458 阅读 · 0 评论 -
sizeof详解
0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误转载 2012-08-28 14:08:15 · 637 阅读 · 0 评论