C
avagrant158
这个作者很懒,什么都没留下…
展开
-
编写跨平台程序的关键,C/C++中的内置宏定义
<br />分两部分:<br />操作系统判定:<br />Windows: WIN32<br />Linux: linux<br />Solaris: __sun<br />编译器判定:<br />VC: _MSC_VER<br />GCC/G++: __GNUC__<br />SunCC: __SUNPRO_C和__SUNPRO_CC原创 2011-04-02 13:54:00 · 1564 阅读 · 0 评论 -
linux静态库AR陷阱,导致新程序无效
在使用ar -ru命令时,静态库中的老的目标文件是不会被删除的,当新目标文件不能覆盖老目标文件时(比如文件名变更),则老程序和新程序同时存在,此时可执行文件连接该静态库时,或许会使用老程序,或许使用新程序,连接器没有警告或异常,而且不同的可执行程序使用新老版本也不固定。解决办法是在ar -ru之前,一定要先rm掉静态库。原创 2011-04-14 13:13:00 · 372 阅读 · 0 评论