-
-
[求助]DLL为无效的windows映像
-
发表于:
2013-9-12 16:04
8386
-
为了使用方便,我把代码做成了DLL文件,编译环境是 XP + VS2008。
同时为了减小代码体积,我在代码头部添加了
//自定义对齐方式
#pragma comment (linker, "/ALIGN:1024")
#pragma comment(linker, "/FILEALIGN:1024")
// 合并区段
#pragma comment(linker, "/SECTION:.data,REW")
#pragma comment(linker, "/MERGE:.rdata=.data")
#pragma comment(linker, "/MERGE:.text=.data")
// 优化选项
#pragma comment(linker, "/opt:nowin98")
#pragma comment(linker, "/opt:ref")
#pragma comment (linker, "/OPT:ICF")
可是在加载DLL的时候弹出:应用程序或DLL XXXXX 为无效的windows映像,请再检测一下您的安装盘 这个对话框。
如果我不加这段代码的话,DLL能被正常加载。
此外,在编译时,出现4个warning
warning LNK4229: 遇到无效的指令“/FILEALIGN:1024”;已忽略
warning LNK4229: 遇到无效的指令“/opt:nowin98”;已忽略
warning LNK4229: 遇到无效的指令“/opt:ref”;已忽略
warning LNK4229: 遇到无效的指令“/OPT:ICF”;已忽略
难道这几个编译选项没用到吗?
盼高手解答!!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课