看板 ASM 關於我們 聯絡資訊
※ 編輯: shawen 來自: 111.71.68.202 (09/06 15:43)
proach:為什麼我覺得你說的是C++ Compiler for ARM ? 09/06 17:51
ksmrt0123:同感~ 09/06 18:39
hilorrk:那個...g++行嗎... 09/06 20:20
bobhsiao:google "arm gcc" 第一個 09/06 22:20
shawen:看完說明文章之後 我也發現了原來如此.... 囧 09/07 12:02
shawen:各位人都太好 可以原諒我的搞笑 不好意思獻醜了 囧rz 09/07 12:02
sorkayi:我怎麼覺得好像就是編譯器 arm gcc嗎 09/07 18:16
ruemann:差不多吧,他本來的code是在其他的MCU上跑,現在換ARM而已 09/07 18:39
謝謝各位的建議 自己回覆一下自己的文章以及遇到的問題 目前我使用的compiler是MDK armcc armasm armlink等指令試過了 簡單的程式轉換有見到理想的結果 不過我遇到另外的問題 不曉得其他前輩有沒有遇到過? 想要像大家請教一下 我在轉換目前需要的文件的時候 突然出現了一堆error 追蹤的結果是最初的define有問題 ====================================================== typedef signed __int8 s8; typedef signed __int16 s16; typedef signed __int32 s32; typedef signed __int64 s64; typedef unsigned __int8 u8; typedef unsigned __int16 u16; typedef unsigned __int32 u32; typedef unsigned __int64 u64; #define EXPORT extern "C" __declspec(dllexport) #define EXPORT_CALL __stdcall #define FASTCALL __fastcall ====================================================== 如文中所見 我打開了header file之後看到他的定意是這樣的格式 但__int8 __int16等似乎都不是標準的CPP支援的格式 我把__int8換成char __int16換成short __int32換成int __int64換成long long 之後就沒有了error的問題 (當然 如同書上所說的 要是全部的宣告都可以變成int才是最好的結果) 但我接下來遇到的問題是像 #define EXPORT_CALL __stdcall #define FASTCALL __fastcall 這些東西不知道該怎麼更換? 不知道各位前輩有沒有解決的辦法? 或者更直觀的想法 如果當初這位使用者 (這是open source的code 他說要用Visual studio 2010才能跑) 能夠定意這些的東西並且正常執行的話 一定有一個相對應的lib file或者header file 如果在這樣的情況下 是不是我缺少了哪個header file或者要去哪邊尋找/添加才可以? 我已經用過source insight查過這個project裡似乎沒有__int8 __fastcall之類的定義 找起來還不是很順手 想請問一下大家遇到這樣的define應該要如何是好? 因位是在許多的header file裡面會用到的 全部改掉的話好像有點擔心會出現問題 先謝謝各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.82.172.215
suhorng:__stdcall, __fastcall 只是指定函式呼叫時參數傳遞/推入 09/22 20:05
suhorng:堆疊的順序, 如果這在你的code中不重要, 應該可以砍掉? 09/22 20:05