C++编译问题

  • 因为工程自己的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成员类似)。

posted @ 2016-03-21 15:52  戈壁的石头  阅读(161)  评论(0编辑  收藏  举报