我現在要把一些linux上的ANSI C代碼移植到ucos工程上,用ADS的C庫來代替ANSI C似乎有很多限制,例如很多ANSI C的庫在ADS中沒有對應,很多庫裏面也缺少部分對應函數。這樣的移植似乎是一個龐大的工程,相關的參考資料不多(這樣做的人應該也很少吧),有關C庫的問題我甚至沒能找到,特請教一些疑惑:
1. 有資料中提到部分要點,例如要初始化ADS的C庫,請問具體是什麼意思?能否舉一個例子。
2. 部分用戶自定義的C函數可以通過重定向來實現,這個我了解。
3. 另外很大一部分ANSI C就有的C函數,在ADS的C庫中不存在,不可能全部由用戶來實現,有什麼應對策略?
例如我需要移植的程序涉及數學算法、字符串處理、文件讀寫,對應math.h, string.h, stdio.h等文件,裏面有不少函數是ADS不提供的。舉個例子ADS沒有fdopen,我就不能隨意的用文件綁定流進行操作,我自定義的文件系統也沒有文件描述符這樣的概念可與*nix上的文件操作對應。這種移植似乎沒有解決辦法?
以上疑惑從開發工具的庫函數,到整個移植理念都存在,請有經驗的同行給予指點,無論是具體實現還是移植概念,或ANSI C與ADS C的差異分析,都可以,謝謝!
強調一下我關心的主要是應用代碼上的移植情況。與硬件相關的部分基本不需要考慮。
没有的库你可以自己写个
没有的函数你可以写个空函数放那哈
請問能否講解一下初始化ADS的C庫,具體有些什麼操作?