SunBo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年7月24日

摘要: 1、防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2、重新定义 一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedefunsigned charboolean; /* Boolean value type. */typedefunsigned long intuint32;/* Unsigned 32 bit value */typedefunsigned short uint16;/* Unsigned 16 bit value */typedefunsigned charuint8; / 阅读全文
posted @ 2009-07-24 17:54 SunBo 阅读(304) 评论(0) 推荐(0)

摘要: 检测一个无符号数是不为2^n-1(^为幂): x&(x+1)将最右侧0位改为1位: x | (x+1)二进制补码运算公式:-x = ~x + 1 = ~(x-1)~x = -x-1 -(~x) = x+1~(-x) = x-1x+y = x - ~y - 1 = (x|y)+(x&y) x-y = x + ~y + 1 = (x|~y)-(~x&y) x^y = (x|y)-(x&y)x|y = (x&~y)+yx&y = (~x|y)-~xx==y: ~(x-y|y-x)x!=y: x-y|y-xx< y: (x-y)^((x^y)&am 阅读全文
posted @ 2009-07-24 17:52 SunBo 阅读(309) 评论(0) 推荐(0)

摘要: 关于gcc,libc等相关概念的理解 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 Gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文 阅读全文
posted @ 2009-07-24 15:27 SunBo 阅读(457) 评论(0) 推荐(0)