- 因为工程自己的main.cpp没有被编译,ld到了库文件的main函数入口
- 宏定义替换,所有定义宏的时候,尽量不要起常用的字符
- typedef替换,和宏定义相似,尽量不要起常用的字符
-
对于整形常量,0x01,0x0001都是整形(int),4byte的大小; 0x01L这个是8byte的长度
- 对于字符串的格式,在于编译单元的文件格式
-
普通的static变量,如果包含在不同的源文件中,则产生多个符号;
-
类中的static变量,只需要一处初始化,然后其他地方引用的时候,也只会有这一个符号。
-
函数中的static变量,只会有一次初始化,static int static_var = 10; 这算一处初始化; static int static_var; static_var = 10;这个不算(有可能是生成了一个临时变量)。 模板类中的静态变量,在用到的文件中初始化一次,否则会找不到这个符号,但是其他地方也不用再次初始化就可以找到(与普通class中的static成员类似)。