MFC 使用VS2010编写 Debug下生成的LIB和Release下生成的数据不一样
例如0xAA0xBB0xCC为什么以Debug编译出来的LIB。使用UltraEdit看数据是这样:AABBCC而在Release下编译出来的LIB。使用UltraEdi...
例如 0xAA 0xBB 0xCC 为什么以Debug编译出来的LIB。使用UltraEdit看数据是这样:AA BB CC
而在Release下编译出来的LIB。使用UltraEdit看数据是这样:01 02 01 AA 01 02 01 BB 01 02 01 CC
求大神帮助 展开
而在Release下编译出来的LIB。使用UltraEdit看数据是这样:01 02 01 AA 01 02 01 BB 01 02 01 CC
求大神帮助 展开
1个回答
展开全部
编译后的LIB不一样是正常的。
因为DEBUG模式和RELEASE模式下,优化不同,编译导入库可能不同,甚至参与编译的代码也不同(比如代码中有#ifdef _DEBUG)。
所以,编译结果无论是LIB/DLL/EXE,都会有明显差别,不必纠结这个。
因为DEBUG模式和RELEASE模式下,优化不同,编译导入库可能不同,甚至参与编译的代码也不同(比如代码中有#ifdef _DEBUG)。
所以,编译结果无论是LIB/DLL/EXE,都会有明显差别,不必纠结这个。
更多追问追答
追问
恩,谢谢。那有什么方式能让DEBUG和RELEASE一样吗?
那么还有一个就是我VS2005上编译出来的LIB文件不能在VS2010上使用,10上编译出来的在05上也不能使用,我查了网上是因为编译的二进制不同,怎么样能让LIB库通用呢?谢谢。
追答
没必要让两个版本一样。
没遇到过这样的问题。
我认为,LIB没有VS版本的区别,只有可能有编码的区别,这个是可以设置的,都使用UNICODE不会出现这个问题吧。
查看了一下,LIB工程没有版本兼容设置,这也应该从另一个方面说明,没有版本不兼容问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询