NDK中配置好了c 11標準以及STL,仍然無法使用STL裡的函式 70

2025-03-03 07:50:22 字數 4399 閱讀 2392

ndk中配置好了c++11標準以及stl,仍然無法使用stl裡的函式

1樓:收到飛灑

android ndk從r5b版本開始有官方支援的stl了塌緩,有乙個crystax版本早已經支援。官方的支援有兩個版本一團圓模個是gnu的,乙個是stlport。如果你需要在你的ndk程式中使用stl,那麼需要在檔案中新增乙個選項,就是app_stl :

stlport_static。 其中app_stl的取值有以下四種: system --系統預設的最小支援的c++執行時庫 stlport_static --以靜態鏈結的方式使用stlport版本的stl stlport_shared --以動態鏈結的方式使用stlport版本的stl gnustl_static --以靜態鏈結的方式使用gnu版本的stl如果你和我一樣並沒有使用和,而是使用code::

blocks或者visual studio 2010,那麼在配置環境時,如果需要stl的支援,那麼就需要注意自己要指定stl的包含路徑。鏈結就根據需要自己鏈結不同的版本。請注意,stlport有靜態鏈結和動態鏈結兩種方腔散式,而gnu的僅有靜態鏈結方法。

另外乙個需要注意的就是官方提供的這個stlport版本不支援rtti和異常,換言之,如果你使用了stlport版本的stl,則不能使用-fexceptions和-frtti這兩個編譯選項。

2樓:匿名使用者

樓上一看就是灌水混分的,雖然我不是來幫你解決問題的飢早。

建爛大雀議關閉提問,到android開仿做發的專業論壇發貼諮詢。

你也可以試試將圖中的一些中文路徑改為英文路徑。

c++中的stl標準庫到底該不該用

3樓:小熙自**

首先,c++搞的不熟,不好說c++的stl好壞。(stl在c++中的好壞)

其次,如果換c,stl能做的事情,c裡面一樣可以很快做出來。

再次,stl和c的#define很像,經常被人噴,也經常被對應對高手熟練使用。

最後,如果涉及到底層或系統級的**,最好不要用stl,雖然對c++不熟練,但至少知道stl生成的東西(優點所在),不是你可控的東西(也就是缺點)。

4樓:哥德堡快遞

如果你覺得自己做的輪子比磚家們做的更好更圓,那就別用了。

5樓:網友

用啊,這麼好用的東西,不用浪費了。

c++ stl的容器的問題,新增函式。

6樓:網友

理論是可以的。比如:

#include

template>

class mylist : public std::list<_tp, _alloc>

不過從比較嚴格的編碼規範來說,不太推薦從stl容器繼承。因為,嚴格的說,乙個類如果它允許有派生類,它的析構數應該被定義虛擬函式,而stl容器的解構函式並沒有被定義的虛擬函式。

最安全的方式是使用組合及**的模式。不過使用組合並不優雅,你需要增加好多重複的**(要把list的每個函式重新定義一次 :(

7樓:青雲當自致

你要實現什麼功能,一般通過這些函式都是可以實現的。你繼承之後可能會造成**冗餘,臃腫。

noip用c還是c++好,c++能用stl嗎

8樓:匿名使用者

noip裡c++是可以使用stl的。

但是有一條限制 就是不能用雙下劃線開頭的stl 如__int128之類的。

但是那個在noi_linux裡是可以正常執行的要是算0分只能人工查檢 但誰知道工作人員會不會隨機翻你**呢查出來的話算ce 有勇氣您可以用。

9樓:青花惡魔

stl已經解禁,可以使用,給c++黨帶來了不少優勢。stl在不開優化的情況下不是最快的,但是減少寫**的麻煩,而且**一定正確。建議使用和c++差距不是很大,c的**不用改就能在c++上執行,所以從c公升級到c++幾乎不用做任何事情,頂多學一些c++的比c方便的語法。

10樓:嗚哩哇啦路飛

你說的noip應該是中學生的程式設計比賽吧?程式語言看自己的情況。一般這種比賽主要是考你的演算法,像c++的類用得少,一般就是fstream用於輸入、輸出,所以c和c++都差不多。

至於stl當然就不能用了,否則對其他程式語言不公平,不過據說用於快速排序的qsort函式是可以使用的。

c++中的stl是怎麼回事啊

11樓:網友

stl是c++的標準模板庫,如iostream, fstream, string等都包含其中。在使用時用標頭檔案把它引進來就可以了。如:

#include//引用輸入輸出流。

#include//引用棧模板。

#include//引用字串模板。

using namespace std;

一種簡單的理解是可以把stl看成是c++的一中「庫函式」,能用簡單的語句實現很多功能的「庫函式」。

另一種簡單的理解是可以把stl看成是c++已經做好的「類」(如:string),它提供了很多訪問方法。

舉個例子:用c++實現字串"12345"和"67890"連線,並測其長度!

方法一:使用簡單語句。

#include

using namespace std;

void main()

s2[6]=;

int lenth1,lenth2,i,slenth;

lenth1=strlen(s1);

lenth2=strlen(s2);

for(i=lenth1; i

#include//加入標頭檔案。

using namespace std;

void main()

string s1="12345",s2="67890",s;

int slenth;

s=s1+s2; //直接相加,系統已經實現了+過載。

slenth=; //直接呼叫成員函式。

cout《這個**是c++之父談stl的,可以看看!

12樓:網友

stl可以提高演算法的效率,並實現了c++原來沒有實現的一些內容,簡化了**的編寫。

stl是什麼?怎麼使用c++中的stl?

13樓:

stl(standard template libary),標準模板庫。

這是c++標準的一部分。關於這個庫有不少歷史可以說,侯捷的《stl原始碼剖析》講了不少。stl有好幾種不同的實現,微軟也有自己的實現。

關於使用,比如你用了下面的語句:

#include

就是使用了標準模板庫裡的 vector.

然後你這樣宣告向量:

vectora; //向量a包含的元素是int型的。

vectorb; //向量b包含的元素是double型的。

你可以查詢對應的標頭檔案,它們都是以原始碼形式出現的,不過裡面的符號定義的讓人眼花繚亂,還是找書看比較好。

標準模板庫包含了資料結構和演算法等方面的內容,比較複雜,學習之前要有十足下信心。

14樓:網友

哈哈,stl

難道是傳說中的夢幻裡的獅駝嶺嘎嘎。

如何在android app中使用stl庫

15樓:匿名使用者

system - 使用預設最小的c++執行庫,這樣生成的應用體積小,記憶體佔用小,但部分功能將無法支援。

stlport_static - 使用stlport作為靜態庫,這項是android開發網極力推薦的。

stlport_shared - stlport作為動態庫。

這個可能產生相容性和部分低版本的android韌體,目前不推薦使用。

gnustl_static - 使用 gnu libstdc++ 作為靜態庫。

預設情況下stlport是不支援c++異常處理和rtti,所以不要出現 -fexceptions 或-frtti;如果真的需要,可以消弊脊使用gnustl_static來支援標準c++的特性,但生成的檔案體積會偏大,執行效率會低一些。

支援c++異常處理,在中拿滲加入 local_cppflags +=fexceptions這句,同理支援rtti,則加入local_cppflags +=frtti,這裡再次提醒大家,第二條說的使用gnustl靜態庫,而不是stlport。

強制重新編譯 stlport ,在中加入stlport_force_rebuild :=true可以強制重新編譯stlport原始碼,由於一些原因可能自己需要修改下stlport庫,一般普通的開發者無需使用此項。

2. 在要使用stl的cpp檔案中包含相關的標頭檔案卜毀。

並且使用using namespace std;

C1證如何增加d證,c1照怎樣增駕d照?

c證滿一年就能辦理增駕d證,機動車駕駛證申領和使用規定 對於增駕的規定如下 已持有機動車駕駛證,申請增加準駕車型的,應當在本記分週期和申請前最近乙個記分週期內沒有記滿分記錄。申請增加中型客車 牽引車 大型客車準駕車型的,還應當符合下列規定 一 申請增加中型客車準駕車型的,已取得駕駛城市公交車 大型貨...

現在c1增駕到b1需要哪些手續,現在C1增駕到B1需要哪些手續

你好!已持有 c1 準駕車型駕駛證三年以上,而且年齡在21 50週歲之間,申請增加 b1 準駕車型的,應在本記分週期 今年 和申請前最近一個記分週期 去年 內沒有滿分 12分 記錄,便即可向戶籍地車管所申請增駕,因為法規規定辦理增加 b1 業務只能在駕駛人戶籍地車管所進行申請,而不在暫住地進行。經考...

C1駕照能開幾米的貨車,c1駕照能開多大的貨車?最長多少

c1駕照能開長度不超過6米的貨車。根據 機動車駕駛證申領和使用規定 c1駕駛證準駕範圍為小型 微型載客汽車 及輕型 微型載貨汽車 輕 小 微型專項作業車 小型載客汽車乘坐人數小於或等於9人。根據這項標準要求,c1證不能駕駛多出9座的車輛 c1駕照能開長度不超過6米的貨車。c1駕駛證準駕範圍為小型 微...