首页
社区
课程
招聘
[求助]vc2005的链接器指定了/ALIGN,发生对FileAlignment和SectionAlignment同时生效了,如何才能只让FileAlignment生效?
发表于: 2009-6-11 06:53 5106

[求助]vc2005的链接器指定了/ALIGN,发生对FileAlignment和SectionAlignment同时生效了,如何才能只让FileAlignment生效?

2009-6-11 06:53
5106
vc2005的链接器指定了/ALIGN,发现生成的PE文件里时,对FileAlignment和SectionAlignment同时生效了,比如,我想生成/ALIGN:512,则SectionAlignment也变成512了,这时windows无法加载PE.  如何才能只让FileAlignment生效?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
另外,发现如果用vs2005不指定/ALIGN选项,则默认FileAlignment和SectionAlignment都是0x1000, 但是用clr生成的PE,默认FileAlignment是0x200, SectionAlignment是0x1000.
2009-6-11 06:59
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
等了N天也没人回答,自己今天看了MATT的书,终于明白 了.
就是用/OPT:WIN98,可以指定4k对齐,如果是OPT:NOWIN98,就是512字节对齐.
2009-6-24 10:05
0
雪    币: 8181
活跃值: (3883)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
程序里加下面代码试试

#pragma comment(linker, "/ALIGN:512")
2009-6-24 19:23
0
雪    币: 194
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
骑猪到处跑:
在vc6里是不可以使用OPT:NOWIN98选项。
在vs2003以后的版本可以
另:
如果指定OPT:NOWIN98选项,则是按1024字节对齐,不是512,呵呵,
2010-3-28 13:16
0
雪    币: 194
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
更正最后一句: 是按512byte对齐。
2010-3-28 15:39
0
游客
登录 | 注册 方可回帖
返回
//