|
你所講的arm code應該是指arm的組語(組合語言)
4 v' J' j" w0 H6 e9 c' @/ `) b8 M0 o1 q不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...
* g# @8 ?1 X; S: P+ b# g( v" K( n
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式5 A) V6 l6 L) z2 ~* [/ e
! I2 T, I/ e' B/ y& F3 y
在同一project部份c 部份組語的作法是為了performance/code size考量
$ @, m9 X$ c2 ~& A0 C; ?" n2 y# d6 K/ U( F9 B4 @! v
你所講的ACD應該是指ADS
. \# }2 H! p, a! G0 H! a. k+ k$ D2 R/ ~1 i/ P8 k% Z' n$ l
作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字
6 u$ `0 H) ]$ `
' m ^6 N9 t4 \, qARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異: }; c+ _1 H# }6 ?+ P6 |3 y, b% N
6 U7 R0 }1 k( m$ g你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|