久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【轉(zhuǎn)】GCC,,glibc,?uclibc,stdc,STL的一些基本概念

 techres 2010-12-09

GCC,,glibc, uclibc,stdc,STL的一些基本概念

作者:Sam(甄峰) [email protected]


Sam有一個(gè)C++程序,其中用到:
std::wstring mbstowcs(std::string str);
使用X5平臺(tái)的編譯器編譯時(shí),,遇到如下問題:
error: expected constructor, destructor, or type conversion before "mbstowcs"
error: expected `,' or `;' before "mbstowcs"

Sam就開始尋找原因,。順便把gcc,glibc,uclibc,stdc++等東西的概念性東西放在這里。

GCC:gcc(gnu collect compiler)是一組編譯工具的總稱,。它主要完成的工作任務(wù)是“預(yù)處理”和“編譯”,,以及提供了與編譯器緊密相關(guān)的運(yùn)行庫的支持,如libgcc_s.so,、libstdc++.so等,。

glibc:glibc是gnu發(fā)布的libc庫,也即c運(yùn)行庫,。glibc是linux系統(tǒng)中最底層的api,幾乎其它任何的運(yùn)行庫都會(huì)倚賴于glibc,。glibc除了封裝linux操作系統(tǒng)所提供的系統(tǒng)服務(wù)外,,它本身也提供了許多其它一些必要功能服務(wù)的實(shí)現(xiàn).

uclibc:uclibc是另一c運(yùn)行庫,與glibc對(duì)應(yīng),。它比glibc小,。雖然uClibc和Glibc在已有的接口上是兼容的,但有些接口并沒有實(shí)現(xiàn),。

libstdc++:libstdc++ 是GNU C++ standard Library .

 

STL: C++模板庫:

它是C++標(biāo)準(zhǔn)庫的一個(gè)重要組成部分,。占據(jù)了整個(gè)庫的大約80%的分量。

GCC,,glibc, <wbr>uclibc,stdc,STL的一些基本概念




Sam覺得既然編譯就通不過,那說明X5的編譯器本身就不認(rèn)識(shí),,有可能是X5平臺(tái)的交叉編譯器在創(chuàng)建時(shí)沒有添加stdc支持,?后來覺得不是這樣,因?yàn)?span style="font-weight: bold;">STL完全是以頭文件形式提供的,。
1.所以只需要指定頭文件路徑,,就應(yīng)該可以編譯。于是Sam添加了:
-I/opt/hisilicon/toolchains/arm-uclibc-linux-soft/include/c++/3.4.3/
(Sam覺得海思的交叉編譯器做得不是特別規(guī)范,,為什么呢,。因?yàn)樗蓬^文件,庫文件的地點(diǎn)多變)
添加這個(gè)之后,理論上應(yīng)該是可以編譯了,。
可發(fā)現(xiàn)還是不認(rèn)識(shí)wstring.
2.于是查看/opt/hisilicon/toolchains/arm-uclibc-linux-soft/include/c++/3.4.3/bits/stringfwd.h,。
發(fā)現(xiàn)要定義_GLIBCXX_USE_WCHAR_T才會(huì)有wstring.
3.于是在編譯程序時(shí)添加了 -D_GLIBCXX_USE_WCHAR_T
還是通不過,說沒有wint_t,。
4.于是又查STL. 添加了 -D__WINT_TYPE__
又通不過,, 說沒有 btowc,Sam查遍了toolchain. 也沒找到這個(gè)類型的定義,。感覺很奇怪,,就去查/usr/include. 發(fā)現(xiàn)這個(gè)類型有定義。但toolchain中沒有對(duì)應(yīng)的頭文件,。

所以,,Sam覺得很多做嵌入式程序的工程師都不愿使用STL,喜歡用標(biāo)準(zhǔn)C,,是有原因的,,因?yàn)閠oolchain限制太大。很多提供toolchain的公司對(duì)類似STL的提供都不是很全,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多