我的編譯器被忽略:gcc中的#pragma等價物是什麼?
#pragma DATA_SECTION(..., "iram_init");
和
#pragma CODE_SECTION(..., ".icode");
哪裏...是一個功能。
這在運行程序時會導致分段錯誤。 我想這是因爲這是gcc編譯器的不正確語法?什麼是等效的?
感謝
(背景:這是在raspian樹莓PI)
我的編譯器被忽略:gcc中的#pragma等價物是什麼?
#pragma DATA_SECTION(..., "iram_init");
和
#pragma CODE_SECTION(..., ".icode");
哪裏...是一個功能。
這在運行程序時會導致分段錯誤。 我想這是因爲這是gcc編譯器的不正確語法?什麼是等效的?
感謝
(背景:這是在raspian樹莓PI)
等效是:
__attribute__((section(".icode"))) void fct1(int toto) { ... }
__attribute__((section("iram_init"))) int fct2(void) { ... }
__attribute__((section(".var"))) int myvar;
但照顧你的鏈接腳本(俗稱」 .LD 「用gnu工具):必須定義部分並映射到正確的內存
什麼編譯器支持這些編譯指示?你想達到什麼目的? – fuz
我得到的代碼有這些。我試圖運行這個程序來測試一些我不太瞭解的東西。 –
檢查它可能對你有幫助http://stackoverflow.com/questions/9716637/what-is-the-use-of-pragma-code-se-and-data-section –