可可西

2011年11月18日 #

VC6和VS2008中C++编译器差异

摘要: 1. for中定义变量作用域不同for (int i=0; i<100; i++){}for (int i=100; i<200; i++){}以上代码在VS2008中可编译通过;在VC6.0下会提示"'i' :redefinition"的编译错误。2. static const变量能否在头文件中初始化class A{public: static const int m_MAXNUM = 10;};以上代码在VS2008中可编译通过;在VC6.0下会提示出两个令人费解的编译错误。error C2258: illegal pure syntax, 阅读全文

posted @ 2011-11-18 14:21 可可西 阅读(1465) 评论(2) 推荐(0) 编辑

msvcrt.lib和LIBCD.lib链接冲突

摘要: 今天在移植一个开源代码到windows的VC6工程,编译时出现了这些奇怪的LINK错误。++++++++++++++++++++++++msvcrt.lib(MSVCRT.dll) : error LNK2005: _toupper already defined in LIBCD.lib(toupper.obj)msvcrt.lib(MSVCRT.dll) : error LNK2005: _tolower already defined in LIBCD.lib(tolower.obj)msvcrt.lib(MSVCRT.dll) : error LNK2005: _isupper alr 阅读全文

posted @ 2011-11-18 11:51 可可西 阅读(2677) 评论(0) 推荐(0) 编辑

导航