链接程序LINK的使用方法(转的)
汇编程序对源程序汇编后产生出浮动的二进制目标文件(OBJ文件),但OBJ文件并不是可执行的文件.还必须使用链接程序(LINK)把OBj文件转换为可执行的EXE文件。当然,如果一个程序是由多个模块组成时,也应该通过LINK把它们链接在一起。
一、用LINK链接程序的一般格式
链接程序格式:
[X:][path]LINK[Y:][path][file name1][+file name2][+file name3]...
链接程序可以链接一个目标文件,也可以链接多个目标文件,当链接多个目标文件时,将多个目标文件用“+”号或空格把它们链接在一起。
例如,链接已存在的MOVES.OBJ(MOVES.OBJ、LINK都在C盘根目录下)。
C:\>LINK MOVES 8
屏幕提示及操作如下:
Microsoft(R)Overlay Linker Version 3.60
Microsoft (C) Microsoft Corp l983--1987. All rights reserved
Run File[MOVES.EXE]: 8
List FILE [ NUL.MAP]:MOVES8
LIbraries[.LIB]: 8
LINK:Warning L4021:No STACK segment
.
.
.
其中:
[.OBJ]:为目标文件,LINK链接该文件。
[.EXE]:执行文件。若认可方括号中的文件名,则按 “8 ”键即可,也可输入新的文件名。
[.MAP]:为链接映象(Link map)文件,它给出每个段在存储器中的分配情况。若不需要建立该文件,则只按“8 ” 键即可。如果建立了该文件,则可用TYPE或EDIT输出该文件。例如,输出MOVES.MAP文件:
C:\>TYPE MOVES.MAP 8
Start(起点) Stop(终点) Length(长度) Name(名称) Class(类型名)
0000H001DH001EHCODE
0020H0047H0028HDATA
0050H0077H0028HEXTRA
Origin Group(段的起止地址)
Program entry point at 0000:0000(程序人口地址)
[LIB]:库文件,本例暂不考虑。
在链接程序时,如果程序没定义堆栈,链接程序给出无堆栈段的警告性错误:Warning:No STACK segment
但它并不影响程序的执行。
浙公网安备 33010602011771号