使用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