在你還沒有真正開始運行前面後兩個程序之前,最好先瀏覽一下本節。這裏簡單介紹了在特定編譯器環境下運行STL程序的一些細節,並提供了一些可能遇到的問題的解決辦法。
cl /GX /MT example2_2.cpp
warning C4530: C++ exception handler used, but unwind semantics are not enabled.
如果在IDE環境下,可以在新建工程的時候選擇控制檯應用程序。
圖3:在Visual C++ IDE環境下運行STL程序
至於那些參數的設置,則可以通過在Project功能菜單項中的Settings功能【Alt+F7】中設置編譯選項來完成。
圖4:在Visual C++ IDE環境下設置編譯參數
有時,在IDE環境下編譯STL程序時,可能會出現如下警告信息(前面那幾個示例程序不會出現這種情況):
warning C4786: '……' : identifier was truncated to '255' characters in the debug information
vector<string> string_array; // 類似於字符串數組變量
bcc32 example2_2.cpp
至於IDE環境下,則可以在新建應用程序的時候,選擇控制檯嚮導(Console Wizard)。
圖5:在C++ Builder IDE環境下運行STL程序
現在你可以在你的機器上運行前面的示例程序了。不過,請恕我多嘴,有些細節不得不提請你注意。小心編譯器給你留下的陷阱。比如前面第三個程序中有如下這一行代碼:
typedef back_insert_iterator< int_vector > back_ins_itr;
請留意">"前面的空格,最好不要省去。如果你吝惜這點空格所佔用的磁盤空間的話,那就太不划算了。其原因還是在於C++編譯器本身的缺陷。上述代碼,相當於如下代碼(編譯器做的也正是這樣的翻譯工作):
typedef back_insert_iterator< vector<int> > back_ins_itr;
好了,請原諒我的絮叨,現在你可以親身感受一下STL所帶給你的真正獨特魅力了,祝你好運!