我试图将一些代码链接到 0xffff800000000000 但出现错误“重定位 R_X86_64_32S 超出范围”。我正在链接 64 位代码并使用“-C relocation-model=large -C code-model=static”。我还使用自定义链接器脚本。请告诉我如何修复这个错误。
链接器脚本:
SECTIONS
{
. = 0xffff800000000000;
.text : { *(.text) }
.data : { *(.data) }
.rodata : { *(.rodata) }
.bss (NOLOAD) : { *(.bss) *(COMMON) }
/DISCARD/ : { *(.eh_frame) *(.comment) }
}
Run Code Online (Sandbox Code Playgroud) 如何仅在没有 cfg 块匹配时才编译某些代码?例如这样的事情:
#IF NUM == 1
//something
#ELSE IF NUM == 2
// something
#ELSE
// no case match, panic!
#ENDIF
Run Code Online (Sandbox Code Playgroud)