[問題] 要怎麼在preprocess階段知道系統狀況
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux (arm or x86)
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
問題(Question):
想知道有沒有可能在preprocess階段就知道系統的大概狀況?
(Makefile沒有特別設定的情況下自動去判別)
例如哪種CPU/SoC(x86 or arm),然後該CPU/SoC可以使用哪種指令集。
這樣我可以用
#ifdef ...
#else ...
#endif
去決定該編譯哪一段對應該CPU/SoC的程式碼。
(我想這應該不可能在compile階段搞吧?)
還是我只能用shell script去抓/proc裡面的設定然後指定make的步驟?
感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.170.53
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481449801.A.4F9.html
→
12/11 18:05, , 1F
12/11 18:05, 1F
→
12/11 18:07, , 2F
12/11 18:07, 2F
→
12/11 18:07, , 3F
12/11 18:07, 3F
→
12/11 18:08, , 4F
12/11 18:08, 4F
→
12/11 18:10, , 5F
12/11 18:10, 5F
→
12/11 18:11, , 6F
12/11 18:11, 6F
推
12/11 18:37, , 7F
12/11 18:37, 7F
→
12/11 18:38, , 8F
12/11 18:38, 8F
→
12/11 18:44, , 9F
12/11 18:44, 9F
→
12/11 18:45, , 10F
12/11 18:45, 10F
→
12/11 18:47, , 11F
12/11 18:47, 11F
→
12/11 18:47, , 12F
12/11 18:47, 12F
找到一篇比較符合我想要做的:
http://stackoverflow.com/questions/2224334/gcc-dump-preprocessor-defines
cross compiler也適用...
不過只有很基本的設定,SSE只到2...
※ 編輯: wtchen (90.41.170.53), 12/11/2016 19:02:04
推
12/11 19:03, , 13F
12/11 19:03, 13F
※ 編輯: wtchen (90.41.170.53), 12/11/2016 19:05:14
會問這個主要是之前幫忙review別人的project,
看到他們用arm跟intel的指令集分別做優化,
想說有無辦法不要分成兩個branch直接在preprocess做。
※ 編輯: wtchen (90.41.170.53), 12/11/2016 19:06:55
※ 編輯: wtchen (90.41.170.53), 12/11/2016 21:22:22
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章