This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/OMAP3530:func_always内联不内联

Guru**** 2609895 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/637834/compiler-omap3530-func_always_inline-not-inlining

部件号:OMAP3530

工具/软件:TI C/C++编译器

我收到错误#18,需要“)”,标题文件中包含以下C代码。

#pragma func_always内联(func_svc0)

静态内联void func_svc0 (无符号int x)

args[0]= x;

_ASM ("按{LR}");
__ASM(" mov r1,pargs");
__ASM(" Svc #0");
_ASM (" pop{LR}");
}

18号对 上述内容预期为“)”。  如果我从pragma行中删除func名称,我会收到一条警告:

#830-D错误处理pragma func_always内联,验证格式。

编译器TI 5.2 .................................................................7 for ARM,-Ov 0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很遗憾,我无法再现此问题。  请按照如何 提交编译器测试用例一文中的说明提交测试用例

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    即使语法正确(我不确定这里有什么问题),编译器也不会内联该函数,因为它包含__asm语句。

    您在程序的哪一行中遇到错误#18?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供信息。 该错误显示在pragma行上。
    我没有意识到这是阻止内联的因素之一。 我将寻找另一种方法。
    顺便说一句,我删除了ASM线路,但仍然出现错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是复制并粘贴此信息还是重新键入?

    您的代码中可能存在拼写错误,甚至在另一行中也可能存在拼写错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    复制和粘贴。