|
你所講的arm code應該是指arm的組語(組合語言)
6 O8 y/ W& g! Z- p1 b9 ?不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...! \& T# P- e8 P. ^5 T* c& j
& Q4 ~- b; u7 t1 |* W, y% [
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式% K# a) ?4 V8 I j* p0 X
, z0 H3 i3 v8 Q3 Y2 e0 J在同一project部份c 部份組語的作法是為了performance/code size考量. @$ `& u I; S, d0 r
( ~# o9 a. M5 I
你所講的ACD應該是指ADS& G0 E o M. a5 Y: i# f( Z
: B0 `3 g# h1 h: Y; E6 ?7 Z作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字, v( m& f: l$ c |/ a
. m, L3 t9 |' J! v6 k5 U( IARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異/ h5 T3 _1 e) T" A6 _
+ j. p5 c3 |' G6 ^% k# G! `. X
你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|