gpt4 book ai didi

c - Sparc 函数编译对齐

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:06 25 4
gpt4 key购买 nike

我希望我的程序让二进制文件中的每个函数在结束后都留有一些空间。这样一来,如果以后需要进行一些小的更改,则只需更改该功能,而额外的空间将作为解释小更改的空间。 -falign-function 可以完成这项工作,但它不会提供一致的空间。有什么办法吗?或者更好的方法来做到这一点?

最佳答案

您可以使用内联汇编语句在每个函数的开头(或结尾)添加一系列 nop。稍后当您需要修改函数时,您可以删除一些 nop 以保持函数的整体大小不变。例如:

int foo(...) {
__asm__ __volatile__("nop; nop; nop; nop;" ::);
...
}

或者你甚至可以在函数中保留大块内存,像这样:

__asm__ __volatile__("ba,a 1f; .skip 1000; 1: ;" ::);

这会保留一大块内存,并在代码中简单地围绕它进行分支。

关于c - Sparc 函数编译对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com