使用Green Hill编译器,可以在运行时在链接器中创建可见的变量。在链接:
__ghs_ramstart = MEMADDR(dram_memory);
在代码:
if (__ghs_ramstart == 0) {do something}
是否有可能使用gcc时做同样类型的东西?如何使用GCC创建运行时可见变量
1
A
回答
3
是的,你可以使用GNU ld链接器脚本来做到这一点。 http://sourceware.org/binutils/docs-2.21/ld/Scripts.html#Scripts您可以在可从gcc访问的脚本中定义符号。我还用脚本创建数据表(例如地址数组)。
在链接脚本,你可以这样说
__ghs_ramstart = dram_memory;
,并从C访问它,例如
extern char __ghs_ramstart[];
...
您可能需要添加或删除前导下划线,具体取决于您的目标。有些目标会将它们添加到符号中,有些则不会。
-1
您可以使用-D选项定义宏。
+1
宏不是变量。 – 2011-06-08 12:06:40
相关问题
- 1. 运行时创建变量
- 2. 动态创建变量在运行时
- 3. 在运行时创建实例变量?
- 4. 如何使索引在运行时可见/不可见
- 5. 如何在运行时使用名称变量创建多个DataGridViews
- 6. 运行时常量池 - 由运行时创建的变量填充?
- 7. 如何用可变成员变量创建不可变类?
- 8. 无法运行使用gcc构建的可执行文件
- 9. 如何使用变量创建分页
- 10. 如何创建使用VLOOKUP变量
- 11. 如何运行使用maven创建的可执行jar文件?
- 12. SQLite3创建表时使用变量?
- 13. 如何使用web2py创建实时运行时钟?
- 14. 使用运行时库和可执行文件创建RPM包
- 15. 如何使Excel CommandBarButton在创建时不可见?
- 16. 使用多个变量创建变量
- 17. tkMessageBox从桌面运行时弹出不可见,从启动运行时可见
- 18. 如何在从VS运行代码时使输出可见?
- 19. 变量不可见
- 20. tcl:如何使用变量的值创建一个新变量
- 21. 如何在Python中使用其他变量创建变量?
- 22. 如何使用局部变量创建全局变量?
- 23. 在运行时使用UIGestureRecognizer创建UIImage
- 24. 如何创建一个使用javassist创建的类的变量
- 25. 使用$ GLOBALS创建变量
- 26. 可能禁用使用SetWindowsHookEx运行时创建的钩子?
- 27. 使用gcc创建16位.COM可执行文件
- 28. 创建运行时
- 29. 如何在使用Javascript创建按钮时包含变量?
- 30. 如何使用Stata或Excel创建时间变量?
http://sourceware.org/binutils/docs-2.21/ld/Source-Code-Reference.html#Source-Code-Reference – Gerhard 2011-06-08 13:46:09