使用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. 如何在運行時在bash中使用$創建變量值
- 3. 在運行時創建具有可引用ID的變量
- 4. 運行時變量創建Python 3.1.2
- 5. 在運行時創建實例變量?
- 6. 動態創建變量在運行時
- 7. 如何使索引在運行時可見/不可見
- 8. 如何在運行時使窗口可見/不可見?
- 9. 如何在運行時創建變量名?
- 10. 是否有可能在setup.exe運行時創建環境變量
- 11. 當使用FragmentPagerAdapter創建片段時,在運行時更改片段可見性
- 12. 如何在運行時使用名稱變量創建多個DataGridViews
- 13. 運行時常量池 - 由運行時創建的變量填充?
- 14. 如何用可變成員變量創建不可變類?
- 15. 如何用變量%i創建變量?
- 16. 無法運行使用gcc構建的可執行文件
- 17. 如何使用Eclipse創建「gcc插件」?
- 18. 如何使用GCC創建.so文件
- 19. 如何使用變量隨時使用AngularJS創建對象?
- 20. 如何創建使用VLOOKUP變量
- 21. 如何使用變量創建分頁
- 22. 根據運行時變量的類型創建通用類
- 23. C++程序來重用變量或在運行時創建變量?
- 24. 如何運行使用maven創建的可執行jar文件?
- 25. 使用Gradle創建可運行的JAR
- 26. SQLite3創建表時使用變量?
- 27. 如何使用web2py創建實時運行時鐘?
- 28. 使用運行時庫和可執行文件創建RPM包
- 29. 如何使Excel CommandBarButton在創建時不可見?
- 30. 如何在不創建實例變量的情況下使變量可用
http://sourceware.org/binutils/docs-2.21/ld/Source-Code-Reference.html#Source-Code-Reference – Gerhard 2011-06-08 13:46:09