請教把ANSI C程序移植為ADS程序的C庫問題

nanhe   2008-9-5 10:23 楼主
我現在要把一些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的差異分析,都可以,謝謝!

回复评论 (7)

还是挺麻烦的地

上系统就晕 呵呵 帮帮你顶了
点赞  2008-9-5 10:28
強調一下我關心的主要是應用代碼上的移植情況。與硬件相關的部分基本不需要考慮。
点赞  2008-9-5 10:30
没有的库你可以自己写个
没有的函数你可以写个空函数放那哈
点赞  2008-9-5 13:04
光有空函數則移植就沒有意義了。
点赞  2008-9-5 13:33
那就不要用系统的库函数嘛

没有的只能自己写
点赞  2008-9-5 19:21
看來還是有比較大的難度啊。
点赞  2008-9-6 11:37
請問能否講解一下初始化ADS的C庫,具體有些什麼操作?
点赞  2008-9-6 13:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复