gpt4 book ai didi

c - 在c 编程中使用@ 符号?

转载 作者:太空狗 更新时间:2023-10-29 16:55:59 25 4
gpt4 key购买 nike

我正在处理一些最初为 IAR 编写的代码,并将其转换为使用 GCC 编译器进行编译。

但是,由于我不理解语法或正在发生的事情,我被某一行卡住了。

__root const uint32_t part_number @ ".part_number" = 701052;

我发现的 __root 使得变量包含在最终代码中,即使实际上没有任何引用它。 const 表示它不会改变并保存在 ROM 中而不是 RAM 中。

这是我不遵循的@“.part_number”部分。我得到的具体错误是“在程序中偏离‘@’”。

我知道 @ 不是标准 C 的一部分,但我没有找到任何可以解释我所看到的语法的东西。

如果有人能解释一下,我将不胜感激。

谢谢

最佳答案

来自 this KB entry它看起来像是指示链接器将变量放入特定部分的语法。

If you instead place the object into a named segment:

__no_init struct setup located_configuration @ "SETUP";

等效的 gcc 语法是通过 section 属性。

const uint32_t part_number __attribute__ ((section (".part_number")) = 701052;

关于c - 在c 编程中使用@ 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783319/

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