|
你所講的arm code應該是指arm的組語(組合語言)4 c, H, B: ]: w: C% ], l3 m
不論是c或c++都能編譯成arm的code... @o@ c, c++也能編成i386的code...( S( x4 I, d! v2 F# X% K) [
, y5 r6 l1 D; L. ] T4 X2 a我想你想說的是"有對應給arm用的c/c++ compiler工具可以使用" 可以讓你在異質的環境下(e.g. i386)去編譯出arm processor能跑的執行檔, 這叫cross compile, 這部份是大多數嵌入式發展會採用的模式+ `* y3 L1 {7 Z, Q7 A* f
+ ?& ?5 {3 _) s1 m
在同一project部份c 部份組語的作法是為了performance/code size考量) }0 \/ l2 r# N- E% l @) \
5 k3 J+ i1 e0 ~
你所講的ACD應該是指ADS
9 n( {) T, {/ T
! j5 A3 L, [* {4 B3 ~; a; G$ o$ r作性能分析的工具叫profiler, 一般軟體用的性能分析工具都是叫這名字1 R7 f! ]& q% j* O. e
, `. x0 g% m- t; F% e8 J! y/ N. x5 c
ARM原廠的tool不便宜, 也許你會想用GNU toolchain, 但兩者的語法及記憶體配置檔寫法有所差異% ~5 e; V3 t0 B+ [+ C
# W' R! H% t) G* Q& }7 t. t你的問題可能要去翻翻看windows中的__fastcall是怎樣定義的, (去翻標頭檔), 這些type都是用最基本的int去定出來的"給人看的", 翻到最底層, 就會通過去了 |
|