C用于指定ARM或Thumb模式的预处理器/编译器指令?

菲米兹

直接使用ARM汇编时,我可以使用.thumb.thumb_func和其类似的arm指令来指示汇编器输出哪种类型的指令。

开发C代码时是否有匹配的编译器指令?见过的GCC文档提到了各种命令行选项,以允许拇指和手臂代码在同一二进制文件中工作,但是输出看起来像是一个完整的二进制文件,无论是拇指还是ARM。我希望能够指定各个函数的编译方式。

如果没有,还有另一种方法可以做到这一点吗?我当时想我可以编译多次,然后手动拼接反汇编,以将功能手动拼接成一个新的二进制文件,但是我希望有一种更简单的方法。

基里尔

看起来您想要的是一个target函数属性。https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/ARM-Function-Attributes.html#ARM-Function-Attributes上查看armandthumb属性。

这些应该使您可以为A32或T32在文件中编译单个函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章