stl編譯
A. C++ 中STL list編譯問題
#include <iostream>
#include <list>
//#pragma warning(disable: 4786)
using namespace std;
typedef list<char> C_LIST;
void listTravel(C_LIST list)
{
C_LIST::iterator itr;
for(itr = list.begin(); itr != list.end(); itr++)
{
cout << *itr <<ends;
}
cout << endl;
}
int listPopFront(C_LIST list,char *ch) //C_LIST是一個list容器,如果你加C_LIST * 那就是一個容器數組,你可以用C_LIST*list 但是要用list[0].front()訪問
{
*ch = list.front();
list.pop_front();
return list.size();
}
int main()
{
C_LIST clist;
char ch;
clist.push_back('A');
clist.push_back('B');
clist.push_back('C');
listTravel(clist);
listPopFront(clist,&ch);
listTravel(clist);
}
B. 如何在VC中去掉STL代碼編譯時編譯錯誤
估計大家編譯STL的時候看著一堆一堆的無意義的警告信息都煩了吧,包含
下面的頭文件會讓你眼前清靜一下的,呵呵,這樣的文件,估計在BBS上看
起來會很累,所以我就沒有折行,因為那樣格式就壞了,更不好看,大家
還是mail回去看吧
不過可笑的是以前看著那些警告覺得煩人,都刪除了,又覺得有些警告也
挺好,就當是編譯進度了,現在除了最後的結束,我都不知道編譯了多少
了,呵呵,覺得自己也挺變態的
[cpp] view plain////////////////////////////////////////////////////////////////////// // // Author: Oskar Wieland ([email protected]) // You can modifiy and distribute this file freely. // // Creation: 31.05.2000 // // Purpose: Declarations for using STL without warning noise. // // Usage: Include this file and define at least one of the STL_USING_xxx // macros. Currently supported data types from the STL: // // // defines for using the STL // #define STL_USING_ALL // #define STL_USING_MAP // #define STL_USING_VECTOR // #define STL_USING_LIST // #define STL_USING_STRING // #define STL_USING_STREAM // #define STL_USING_ASSERT // #define STL_USING_MEMORY // #define STL_USING_STACK // // Sample: // #define STL_USING_ALL // #include "STL.h" // ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// // include guards ////////////////////////////////////////////////////////////////////// #ifndef STLHELPER_INCLUDED_ #define STLHELPER_INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif ////////////////////////////////////////////////////////////////////// // handy define to include all stuff
C. 用gcc怎樣編譯STL的c++程序
使用g++直接編譯就行了啊
g++-otestmain.cpp
D. 關於STL的一個小問題,一個小程序編譯有錯誤,希望大家幫幫忙
大小寫沒問題的。
把#include<string.h>
#include<list>
改成
#include<string>
#include<list>
using namespace std;
E. 如何設置使用stl語句編寫程序
離線或者編譯、保存後再看那個按鈕顏色。
最快回答 回答者:鑽石用戶 WWCWWC- 高級顧問 第14級 2016-11-11 16:39:48
你首先得添加一個塊,然後再彈出的對話框中選擇FC塊或者是FB塊或者是其他的,後面就有相應的可以選擇的編程語言,有LAD,STL,SCL等編程語言可以選擇,然後選擇STL,然後點確定,之後創建的塊的默認編程語言就是STL語言
回答者:鑽石用戶 Caiken- 畢業實踐員 第4級 2016-11-11 16:46:55
可以在LAD的程序塊裡面插入stl的network
或者新建FC/FB,選擇編輯語言為stl
F. stl源碼剖析里的一段源碼 vs2013編譯不能通過,誰能幫我解答下這是為什麼
是stl_alloc.h編譯不過還是你的代碼里引入了.h文件後編譯不過,stl在安裝的時候就有的,但是用之前要記得using namespace std;,如果是h編譯不過,說明stl本身就出問題了(比如不全,.h找不到等)
G. NDK下STL編譯不成功,怎麼處理
android ndk 支持 stl,但是該如何添加呢?許多人發現就算在 Application.mk 中添加代碼「APP_STL:= gnustl_static」後,就算ndk-build編譯通過了,但是eclipse依然會報錯 "Symbol 'vector ' could not be resolved",那麼該如何正確的添加stl呢?
方便他人亦是方便自己,如果覺得還行就點下右邊的投票吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!
工具/原料
Win7 x64
adt-bundle-windows-x86_64-20140702
android-ndk-r10
方法/步驟
在 HelloJni.cpp 中直接增加頭文件和vector的調用代碼:
#include <jni.h>#include <vector>void tst(){ std::vector<int>vec;}
編譯後效果如下:
android ndk 如何添加STL
在 Application.mk 中添加代碼「APP_STL:= gnustl_static」後,文件中的內容如下:APP_ABI := x86APP_STL:= gnustl_static編譯後發現ndk-build可以編譯通過了;
android ndk 如何添加STL
但是卻發現 eclipse 上面卻報出如下錯誤:
android ndk 如何添加STL
在 Android.mk 中增加 「LOCAL_LDLIBS:= -landroid」,後文件的內容如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := hello-jniLOCAL_SRC_FILES := hello-jni.c HelloJni.cppLOCAL_LDLIBS:= -landroidinclude $(BUILD_SHARED_LIBRARY)編譯後依然:
android ndk 如何添加STL
工程右鍵 「clean Project」
android ndk 如何添加STL
重新編譯一次 快捷鍵:Ctrl + B,後等待3秒鍾左右:
android ndk 如何添加STL
7
H. stl是靜態編譯的可執行文件中了嗎
靜態編譯與動態編譯的區別: 1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。 所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。 缺點一是哪怕是很簡...
I. 使用兼容C++ STL的編譯器時、顯示什麼
fatal error: iostream.h: No such file or directory|
J. 這段C++STL代碼為什麼編譯錯誤(內有代碼和錯誤提示)
由於編譯器版本偏低,只有象下面這樣解決了:
m.insert(make_pair( 2, (char*)"am"));
來個強制類型轉換。
原因是編譯器將 "am" 定為 char[3] 類型,於是 make_pair 會用 "am" 來初始化 char[3] 類型的變數,而且是在類的構造函數中初始化的,這顯然不行。
即與下例相同錯誤:
class X
{
X():arrX("am"){}
char arrX[3];
}