天天看點

《C++多線程程式設計實戰》——1.2 建立C++項目

本節書摘來自異步社群出版社《c++多線程程式設計實戰》一書中的第1章,第1.2節,作者: 【黑山共和國】milos ljumovic(米洛斯 留莫維奇),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本書所有的程式示例均在visal studio ide中運作。下面,針對visal studio介紹如何正确地設定ide,并指出一些影響多線程應用程式的具體設定。

準備就緒

确定安裝并運作了visual studio(vs)。

操作步驟

運作visual studio,在【開始】界面選擇【建立項目】,會彈出一個有多個選項的視窗。在左邊【模闆】下面,選擇【c++】,展開c++節點,有【clr】、【正常】、【測試】、【win32】等選項。然後,執行以下步驟。

1. 選擇win32。在中間欄有兩個選項:【win32控制台應用程式】和【win32項目】。

目前,我們使用【win32控制台應用程式】。【win32項目】用于有圖形使用者接口(gui)的應用程式,而不是控制台程式。如果使用控制台,要在項目屬性中設定其他選項。

2. 選擇【win32控制台應用程式】,并在視窗下方的【名稱】右邊為項目命名。我們把第1個win32控制台應用程式項目命名為<code>testproject</code>。在【位置】右邊選擇儲存該項目檔案的檔案夾。vs将幫你建立一個檔案夾,把使用者剛才在【位置】輸入的檔案夾作為将來建立項目的預設檔案夾。

現在,讀者應該看到win32應用程式向導視窗。可以直接單擊右下方的【完成】,這樣vs會自動建立所有需要的檔案。或者,選擇【下一步】,然後在附加選項中勾選【空項目】。如果這樣做,就要自己建立源檔案和頭檔案,vs不會自動生成所需的檔案。

4.<code>testproject.cpp</code>檔案出現在中間的視窗,這就是編寫代碼的地方。以後,我們會在更複雜的項目中建立和使用更多的檔案,現在先暫時介紹這麼多。

示例分析

每個程式都必須有自己的主例程,即<code>main</code>。當運作程式時,作業系統從調用<code>main</code>開始。這是執行c++程式的起點。如果編寫的代碼遵循<code>unicode</code>程式設計模型,就可以使用main的寬字元版本<code>wmain</code>。當然,也可以使用定義在t<code>char.h</code>中的<code>_tmain</code>。如果定義了_unicode,<code>_tmain</code>函數相當于<code>wmain</code>函數;如果沒有定義_unicode,<code>_tmain</code>函數相當于main函數。

在<code>testproject</code>視窗上方,有各種各樣的按鈕和選項。其中有一個包含win32可選項的下拉菜單,這個選項叫做【解決方案平台】。如果要建立32位可執行檔案,就不用改動。如果要建立64位可執行檔案,先展開下拉菜單,選擇【配置管理器】,找到【活動解決方案平台】,選擇【x64】選項。點選【确定】,然後關閉【配置管理器】視窗。

在建立64位可執行檔案時,最重要的是更改項目屬性中的設定。按下alt+f7,或者右鍵單擊【解決方案資料總管】中的<code>testproject</code>項目,選擇【屬性】,彈出<code>testproject</code>屬性頁視窗。在【配置屬性】的【c/c++】的下拉菜單中選擇【預處理器】。在【預處理器定義】中,把win32改成_win64才能建立64位可執行檔案。其他設定暫不更改。

無論建立32位還是64位的代碼,都要正确設定代碼生成。建立c++項目時,可以選擇該應用程式是否依賴使用者pc上c++運作時所需的動态連結庫(dll)。如果建立的應用程式不僅在本機上運作,還要在其他pc上運作,就要考慮這一點。用vs在本機開發應用程式,所需的c++運作時庫已經安裝,不會有任何問題。但是,在其他未安裝c++運作時庫的pc上運作這種應用程式,就有可能出問題。如果确認不依賴dll,則需把【運作時庫】選項改為【多線程調試(/mtd)】的調試模式,或改為【多線程(/mt)】釋出模式。調試模式或釋出模式在【解決方案配置】的下拉菜單中可任意切換。

對于本書的程式示例,其他選項都不需要改動,因為32位和64位的機器都能運作32位可執行檔案。運作時庫作為c++軟體包架構已經安裝在pc中了,使用預設設定即可,應用程式在這樣的pc中運作沒有問題。

繼續閱讀