|
你所講的arm code應該是指arm的組語(組合語言)
& s: x" E5 ~$ b6 g$ p6 }5 |5 E不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...
0 r+ w9 D/ X. G% B
7 Q, @- R0 R& `1 ~" m8 k1 d我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式
9 C7 d( e. Y6 Q" @
- B" A3 H M2 S f, x9 {在同一project部份c 部份組語的作法是為了performance/code size考量8 [3 k k x3 W6 ~+ a
1 ^( ~) C8 s5 F5 o2 p3 {
你所講的ACD應該是指ADS
; K0 g o! v4 n9 l6 r5 n( _1 U
0 B6 {$ i. Z& R0 S& |作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字, a% R) C v" z, G6 {
9 o: o6 L- h) }0 q$ S& u. j- `ARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異) `. X! Y" f; B: U* M/ |% B
% M! g' z) _3 Q
你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|