我能看到下面的文字
程序员首先用一些高级语言编写源代码--在本例中是C.Next,编译器将foo.c和bar.c源代码文件转换为机器语言,创建对象模块foo.o和bar.o。在代码中,程序员在foo.c中定义了变量X,在bar.c中定义了变量Y;这两个变量都位于各自的对象模块中的相对地址100。在用户或其他进程请求之前,对象模块被放置在二级存储中,此时必须将模块链接起来。
文本中提到的这些相对地址是什么?
发布于 2014-05-05 18:31:35
“经济与真理”版本:
好吧,你得把它们链接起来才能生成可执行的映像。链接器为每个对象模块提供一个基本地址,以确保每个模块中的偏移量100引用不同的虚拟地址。它还加载可执行文件的标题部分,指示操作系统加载程序如何运行它,例如。代码、数据、堆栈等部分的大小、重新定位数据和入口点。
https://stackoverflow.com/questions/23477950
复制相似问题