sách gpt4 ai đã đi

compiler-construction - 修复的定义?

In lại 作者:行者123 更新时间:2023-12-04 22:53:27 31 4
mua khóa gpt4 Nike

我在 Python Lisp 编译器和一些 C 链接器的源代码中看到了这个术语。

我的猜测是,修复只是 assembly 例程的一些包装,可确保对齐正确,但我对这里的任何事情都不确定。

1 Câu trả lời

“修复”是一个链接器术语。这里有一个很好的讨论:

http://www.microsoft.com/msj/0797/hood0797.aspx

每当一个目标文件(.o、.obj)引用某个外部符号时,它会输出诸如“将地址 0 放入寄存器 5”之类的占位符代码和一个说明“用符号 'foo' 的实际地址填充那个 0”的注释.其他一些目标文件将定义'foo',然后链接器将返回并“修复” 0 为正确的地址。

顺便说一句,如果没有人定义 'foo',你会得到 50 年代复古风格的错误消息,比如'找不到对 _foo 的引用',或者如果你使用 C++,则更难理解。

当 'foo' 的地址不适合链接器想要放置的位置时,您很少会收到“修复错误”。通常,这来自需要太大的相对偏移量的修复。

关于compiler-construction - 修复的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087983/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com