阅读:1392回复:0
解决Win98 + VC5.0编译打印驱动出现fatal error RW1031的问题
前几天在增加了打印驱动的代码之后,对其进行编译,出现如下错误:
RC : fatal error RW1031: Segment 1 and its relocation information is too large for load optimization. Make the segment LOADONCALL or rerun RC using the -K switch if the segment must be preloaded. 这个问题出现在代码量大到一定程度的时候。 问题现已解决,方法如下。 问题的主要原因在于编译后需要PRELOAD的代码段的大小超过64K,解决的方法是将不同的source file 编译连接到不同的code segment。 具体的方法是在.def文件中的SEGMENTS下增加你想实现的segment的定义,然后在makefile中利用-NT选项来指定source file对应的code segment。 附件中的压缩包解开之后结构如下: CBitmap(dir)-----我把98ddk自带的CBitmap的例子修改了一下,提供一个小例子 ---CBitmap.def ---makefile hpplot(dir)-----95ddk中的hpplot例子,可以作为一个更好的参考 ---Driver.def ---makefile cl_options.txt-----vc1.52 cl命令的options error_RW1031.txt-----MSDN(VC6.0)中关于RW1031的说明 我对编译器的各个选项的使用以及编译原理都没什么太多的了解,如果上面的描述有什么错误,还请大虾指点 [编辑 - 9/22/03 by terrificskyfox] [编辑 - 9/22/03 by terrificskyfox] |
|
|