直接使用ARM汇编时,我可以使用.thumb和.thumb_func和其类似的arm指令来指示汇编器输出哪种类型的指令。
.thumb
.thumb_func
开发C代码时是否有匹配的编译器指令?我见过的GCC文档提到了各种命令行选项,以允许拇指和手臂代码在同一二进制文件中工作,但是输出看起来像是一个完整的二进制文件,无论是拇指还是ARM。我希望能够指定各个函数的编译方式。
如果没有,还有另一种方法可以做到这一点吗?我当时想我可以编译多次,然后手动拼接反汇编,以将功能手动拼接成一个新的二进制文件,但是我希望有一种更简单的方法。
看起来您想要的是一个target函数属性。在https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/ARM-Function-Attributes.html#ARM-Function-Attributes上查看armandthumb属性。
target
arm
thumb
这些应该使您可以为A32或T32在文件中编译单个函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
点击生成二维码
我来说两句