判断一段程序是由C 编译程序还是由C++编译程序编译的

2014-03-30
阅读 1 分钟
4.2k
ifdef __cplusplus cout<<"c++"; else cout<<"c"; endif

BOOL,int,float,指针类型的变量a 与“零”的比较语句

2014-03-30
阅读 1 分钟
3.8k
BOOL :    if ( !a ) or if(a) int :     if ( a == 0) float :   const EXPRESSION EXP = 0.000001           if ( a < EXP && a >-EXP) pointer : if ( a != NULL) or if(a == NULL)

数组与指针的区别

2014-03-30
阅读 1 分钟
3.5k
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。 (1)修改内容上的差别 char a[] = “hello”; a[0] = ‘X’; char *p = “world”; // 注意p 指向常量字符串 p[0] = ‘X’; // 编译器不能发现该错误,运行时错误 (2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p...

请说出const与#define 相比,有何优点

2014-03-30
阅读 1 分钟
3.3k
Const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。   1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错...

关键字volatile有什么含意 并给出三个不同的例子。

2014-03-30
阅读 1 分钟
3.5k
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子...

关键字const是什么含意?

2014-03-30
阅读 1 分钟
3.2k
我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个...

linux系统下安装.deb文件

2014-03-30
阅读 1 分钟
25.1k
linux系统下怎么安装.deb文件? deb 是 ubuntu 、debian 的格式。 rpm 是 redhat 、fedora 、suse 的格式。 他们不通用(虽然可以转换一下)。 deb是debian发行版的软件包 ubuntu是基于debian 发行的 所有可以用 .deb是solaris系统下的安装包后缀名。安装方法如下 cd 到安装包的目录 dpkg -i 安装包名字 如果你使用的是r...

Linux Kconfig及Makefile学习

2014-03-30
阅读 3 分钟
5.5k
内核源码树的目录下都有两个文档Kconfig (2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile...