|
你所講的arm code應該是指arm的組語(組合語言)
4 D6 z+ C+ o2 b n; ~& s: {6 J不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...
) f: R* o) Y) ?+ b v: b' w2 Y* T: d) A- z& n
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式4 L# x$ t' h- J7 k# ~) W4 H
" l" e" i6 L9 V0 R: ~+ j; t; a+ o
在同一project部份c 部份組語的作法是為了performance/code size考量
! M, A1 @. h, ?$ S5 P( u
, G/ q1 S! @& l你所講的ACD應該是指ADS
; V: C+ f' G) Z# B9 `9 w1 G: l- _
; @3 V3 Z, T2 H2 D作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字+ n& T- z% A# B4 n
9 E& x M9 k$ C$ O% s2 O3 LARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異, A( F& v* v- y, {: c v: @
# t6 s: F' N5 c你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|