我正在尝试将重定位发送到另一个文件中定义的符号,因此对GCC进行了反向设计并进行了此重定位:
Num: Value Size Type Bind Vis Ndx Name
2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _R_Print
这个符号(在带有重定位的文件中,这实际上定义了符号):
Num: Value Size Type Bind Vis Ndx Name
4: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _R_Print
8: 00000000004000db 0 NOTYPE GLOBAL DEFAULT 1 _R_Print
但是,当我将其与定义符号的文件链接时,重定位将解析为0(因此必须遵循未定义的符号)并且符号不会合并(链接的可执行文件的符号表):
if h >= 65 and h < 75:
lcd.set_cursor(0,1)
lcd.message("Medium")
这里发生了什么,为什么没有组合符号(ld链接以相同方式定义的其他符号,反之亦然(我定义它们,我的汇编代码重新定位它们)细