链接程序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

但它并不影响程序的执行。

posted on 2012-05-04 13:48  Red_Point  阅读(1312)  评论(0编辑  收藏  举报

导航