|
發表於 2010-9-27 14:34:08
|
顯示全部樓層
你所講的arm code應該是指arm的組語(組合語言)
2 M; e9 F4 ^, y$ k! f5 j! ]不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...
$ L& T& C1 U* t3 \8 c8 o: W( `. |9 u9 M0 e2 Y6 g' d ]- {! M, k- B
我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式5 Q0 l# x9 W: j W# g3 X: C
2 T! L6 z& O5 D
在同一project部份c 部份組語的作法是為了performance/code size考量" g- Q$ y d* G4 h
6 F# u6 k! x. J. M
你所講的ACD應該是指ADS* n, n- `! `8 a/ j9 X4 W
9 N5 H9 [9 J9 t6 {! N! ]9 k作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字
) h/ l* ^) \0 s0 u; e2 G
. z5 l2 C5 e5 ?/ bARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異
) w T9 ?& h4 ?) y3 ~, {- d
; t9 U7 o& v, ~* p+ }# P! v你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|