一个ILink32的编译问题(50分)

  • 主题发起人 主题发起人 han
  • 开始时间 开始时间
H

han

Unregistered / Unconfirmed
GUEST, unregistred user!
我编了一个汇编文件13.asm(总共两个段),用BCB带的TASM32编译通过,但用ILink32连接时出现

Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: '13.asm': Additional segments need to be defined in a .def file

这是什么原因?
 
用tlink32如何?

另外你的asm用的段名字是不是标准?
 
什么是标准的段名? '.Def'文件可以解决这个问题吗?
 
代码段这样写:
_TEXT SEGMENT DWORD PUBLIC USE32 'CODE'
ASSUME CS:_TEXT,es:nothing, ss:nothing, ds:_DATA, fs:nothing, gs:nothing

数据段这样写:
_DATA segment dword public 'DATA' use32
assume cs:_DATA

否则,写.def也可以
 
我用的是标准段,不过还是提示相同的错误。
另外,我的程序分两段,第一段是PE文件头,第二段是代码段。
 
1、用 tlink32.exe 试试
2、建一个def,把所有用了的段名字写上去
SEGMENTS
_TEXT
_DATA
其他......
3、你是用纯asm写的程序吗?一般来说这样比较麻烦,如果只是用asm写函数,
其他框架仍然用c的话,比较简单,把asm加进bcb的project中就可以自动编译连接。
 
han:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
请继续或结束
 
搞定了,用Borland C++ 5带的汇编编译器即可!
 
han,有没有Borland C++ 5自带的汇编编译器,发给我吧?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
822
import
I
I
回复
0
查看
948
import
I
后退
顶部