1
/* 0xFFFFFFFF * 256*/
#define test_256X0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, ... 0xFFFFFFFF

コンパイル後、const 配列が ".rodata" セクションではなく ".rwdata" セクションに配置されますが、その理由はわかりません。

グーグルでstackoverflowサイトを検索した後、指定された答えはありません。「定数データを非読み取り専用セクションに配置する」ときに、コンパイラ(またはリンカー)に警告メッセージを出力するように依頼する理由または方法を知っている人はいますか? ありがとう。

PS。属性を追加することで問題を解決します((section(".rodata")) )

__attribure__((section(".rodata"))) volatile const int TEST_ro[512] = {test_256X, test_256X};

PS。armコアにはlinaor-gccコンパイラを使用しています

4

1 に答える 1