|
你所講的arm code應該是指arm的組語(組合語言)
) G# N) q( S! Z6 r3 o不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...# k. \6 a' V: w& m: i( r+ Z: z5 E
, |5 P- K/ u8 e8 I1 N, g E
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式
* U3 y0 a c% l% Z( J9 v
1 \. p( h1 q' h2 S+ D( z在同一project部份c 部份組語的作法是為了performance/code size考量
; B' Y+ {$ W4 f* P! \; U( c/ d6 A0 Z6 T
你所講的ACD應該是指ADS, I$ N/ E: p7 n) b" x
, x5 `5 Q: u6 T0 _作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字, f }5 E. v- y- R6 ]
1 E. `6 D, R; m4 g* T3 p" @, V/ AARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異( U" Z6 r+ I" J& B' H7 e. U
2 _" o' H2 G5 P你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|