发布时间:2013-01-18 09:11:16
?GENERAL-------Use real tabs that equal 4 spaces.Use typically trailing braces everywhere (if, else, functions, structures, typedefs, class definitions, etc.)if ( x ) {}The else statement starts on the same line as the last closing brace..........【阅读全文】
发布时间:2013-01-06 16:10:31
想成为嵌入式程序员应知道的0x10个基本问题 预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是......【阅读全文】
发布时间:2013-01-06 16:09:39
1. 无符号整型与有符号整型相加解答: 以下代码在vc6.0中执行结果均为-14,但是用cout输出就只是t3是-14了。因为无符号整数与有符号整数相加,有符号数被强制转换为无符号整数,导致变成很大的数了。void main(){ unsigned int t1=6; int t2=-20; int t3=t1+t2; unsigned int t4=t1+t2; pr......【阅读全文】
发布时间:2013-01-06 16:05:56
先看一个经典的面试题:#include <stdio.h>#define f(a,b) a##b#define g(a) #a#define h(a) g(a) int main(){ printf("%s\n", h(f(1,2))); printf("%s\n", g(f(1,2))); return 0;}输出是:12f(1,2)原因就是宏替换的原则问题:当一个宏参数被放进宏体时,通常(注意,有例外)这个宏参数会首先被全部展开。当展开后的宏参数被放进宏体时,预处理器对新展开的宏体进行第二次扫描,并继续展开。例如:#define P......【阅读全文】
发布时间:2013-01-06 13:45:32
1. cd - 当前目录和之前所在的目录之间的切换2. cd + Alt . 用上次命令的最后一个目录路径要用上上次命令的最后一个目录,就Alt+.两次就可以了3. pushd popd 多个目录间切换在/usr和/etc/ssh和/etc/rc.d和当前路径之间切换,则可以在命令行下输入:cxu@cxu-desktop:~$ pushd /usr/usr ~cxu@cxu-desktop:/usr$ pushd /etc/ssh/etc/ssh /usr ~cxu@cxu-desktop:/etc/ssh$ pushd /......【阅读全文】