開發平台(Platform): (Ex: Win10, Linux, ...)
windows 10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc 4.4.4
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
none
問題(Question):
我需要把一些變數放到section裡
__attribute__((section(.data.james.foo1))) int var1;
__attribute__((section(.data.james.foo2))) int var2;
主要是foo1, foo2那邊會改
因此我想要做個marco,做到這樣
MY_SECTION(foo1) int val1;
MY_SECTION(foo2) int val2;
試著寫了
#define MY_SECTION(name) __attribute__((section(.data.james.##name)))
不過無法通過編譯
想知道要怎麼修改,才能正確的達到我的目的
另外C語言的pre-processor有沒有比較好的文件 orz
作者:
LPH66 (-6.2598534e+18f)
2017-05-04 20:15:00提一件事, 無法編譯有很多種, 貼個錯誤訊息上來吧說不定根本就不是 preprocessor 沒弄好而是其他問題等等, 要加引號的話那可能需要字串化的 #你那樣出來的東西可能會在 ".data.james.name"用個 objdump 確定一下東西對不對吧如果確實需要的話, 寫法是 section(".data.james." #name)