|
你所講的arm code應該是指arm的組語(組合語言); S' B) @0 @# y
不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...4 x8 I N. ?. v3 |
9 M2 N/ }' ^6 h( g+ C5 s! B
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式# Z- r2 I2 |$ ]$ k7 \
; P9 B- u; X# J2 }$ J! r. v
在同一project部份c 部份組語的作法是為了performance/code size考量
! A" N( [. j. W h* m9 ~, h
2 \- M3 p1 Y. Z/ h3 A: o4 Y你所講的ACD應該是指ADS
' ~. O/ I, D" G; w$ ]4 v; A; {$ [- Z6 M t2 G
作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字1 f2 ^# s E5 M! q. W( b; h+ f
+ H9 O4 V0 `4 |+ b* A( R: HARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異
9 _ v1 E# c- O0 |$ S& x& ]6 Z. B
: j- v$ ?" `1 p+ a: y% n _& J" V你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|