1. 程式人生 > >關於移植jSON編譯時報錯sbrkr.c:(.text+0xc): undefined reference to `_sbrk'處理

關於移植jSON編譯時報錯sbrkr.c:(.text+0xc): undefined reference to `_sbrk'處理

最近有個專案需要用到jSON函式,在移植了jSON後編譯報錯如下:sbrkr.c:(.text+0xc): undefined reference to `_sbrk'。

通過百度查詢知道原來是GCC編譯器不支援malloc、free、memcpy、strlen等函式導致的,正常在嵌入式系統開發過程中都會遇到這個問題。

正好這個專案是使用移遠M26模組的OpenCPU開發的,好巧不巧的我就遇到了這個問題。網上解決的方法挺多,五花八門,我感覺不需要那麼麻煩 ,原始碼又不長、簡單粗暴一點(我比較喜歡的處理事情的方式之一)。既然是不支援導致的,那就想辦法找一下替代函式好了,正好OpenCPU SDK提供的檔案中有相關的實現函式。所以我就直接用相關函式替換進去,編譯通過了,專案得以順利進行。下面上傳一下原始碼和移植好的程式碼。

cJSON原始碼(c語言版)

cJSON原始碼(Opencpu)

如有疑問,歡迎大傢俬信討論。