【问题标题】:How to create runtime visible variables using GCC如何使用 GCC 创建运行时可见变量
【发布时间】:2011-06-08 11:45:44
【问题描述】:

使用 Green Hill 编译器,可以在链接器中创建在运行时可见的变量。在链接器中:
__ghs_ramstart = MEMADDR(dram_memory);
在代码中:
if (__ghs_ramstart == 0) {do something}
使用 gcc 时是否可以做同样类型的事情?

【问题讨论】:

    标签: gcc embedded


    【解决方案1】:

    是的,您可以使用 GNU ld 链接器脚本来做到这一点。 http://sourceware.org/binutils/docs-2.21/ld/Scripts.html#Scripts 您可以在可从 gcc 访问的脚本中定义符号。我还使用脚本来创建数据表(例如地址数组)。

    在链接描述文件中,你可以这样说

    __ghs_ramstart = dram_memory;
    

    并从 C 中访问它,例如

    extern char __ghs_ramstart[];
    
    ...
    

    您可能需要添加或删除前导下划线,具体取决于您的目标。有些目标将它们添加到符号中,有些则没有。

    【解决方案2】:

    您可以使用 -D 选项定义宏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      相关资源
      最近更新 更多