C++ 研究小劄之始

我自己原本較熟的是 C 語言,而最近為了下一個預定開發的領域,開始研讀 C++

因此記錄在此過程中的隨手筆記、理解心得。我的目的在於提供自己理解每個課題的過程,或是受到啟發的個人的觀點,希望可以借此提供讀者一些幫助,若能觸發一些各位在學習上的關鍵瓶頸,那就更好了!

一個必要的提醒

既然只是筆記而非教學,那麼內容很可能是錯的,觀念、用字、流程都可能錯,所以參考之餘,還望讀者諸君仔細分辨、多多參考資料,切勿盡信。


以下先拋磚引玉,來閒聊達成 Hello World 之前:

先找編譯器,有 Dev C++ 跟 Visual Studio 可以選,其中 Dev C++ 比較簡單點,而 Visual Studio 的整體開發環境有些複雜,有時為了新的專案,得打通很多有的沒有的環境設定才行。(看不懂意思? 沒關係你可以先往下看)

此外, Visual Studio 雖然是 M$ 的產品,但是 M$ 提供了 Express 版,作為免費的編譯器,因此任何人都可以下載,只需要在安裝完畢後,申請一組序號即可,申請序號也是免費的。

1. Orwell Dev-C++

(1) Orwell Dev-C++ 5.5.1免安裝中文版-免費C/C++語言程式設計工具 by 阿榮福利味

(2) 如何用 Dev-C++ 寫出一個基本的小程式? by  Noob’s Space

 

2. Visual Studio Express 2012

(1) Visual Studio 2010 Express 免費的VB、VC編譯程式 by freegroup

(2) 微軟官方的  Visual Studio 2012 教學系列文章


然後呢?

嗨~別傻了…安裝完畢之後當然要來篇 Hello World 啊!

#include <iostream>
using std::cout;
using std::endl; 
int main() 
{ 
 cout << "Hello World" << endl; 
 return 0; 
}

1. Dev C++

Dev C++ 很簡單,新增檔案、貼上程式碼、存檔,然後按 F11 執行編譯後執行

image

很順利…

2. Visual Studio

哦…要先建立空白專案…八拉八拉的…有些麻煩… 請參考

(1) Visual Studio建立第一個專案 by  人生四十宅開始 二號宅

(2) Visual Studio Express簡易使用方法(FOR 初學者) by 複雜的人生,複雜的自己

可以嘗試建立空專案、空cpp檔案,來貼上咱們的 Hello World

若打開選單,你會看到編譯是按 Ctrl + F7 ,但等到編譯完畢後你就會發現,根本沒有執行檔產生啊?我不知道是翻譯選單的錯,還是 Visual Studio 的設計理念我不懂。

總之,你可以按 F5 來啟動 Debug 相關功能。順利的話,就會出現執行結果:

image

咦? 剛剛說「順利的話」… 那不順利的話…會發生什麼事情呢?

呵…如果你是  Visual Studio 新手,第一次安裝,我還蠻確定:上面這個成功圖案暫時與你無緣!XDDD

Visual Studio 2005 應該會跳出一個「 找不到 *.exe 的偵錯資訊…」這樣的訊息堵你。

image

請參考文章 @ ptt

Visaul Studio 2010 之後的訊息則大概是「 無法啟動 *.exe,系統找不到指定的檔案」

請參考文章 by 少年情

然後你經歷了痛苦的搜尋地獄,推測大概原因可能是:路徑設定可能有問題?那把需要的路徑改到相對的欄位內,應該就沒事了吧?

嘿嘿…有極高的機率,在你按照網路上的所有文章改完所有可能的路徑欄位之後,這個訊息照樣跳出! 搞得你打算放棄微軟。

這時候我可以提供一個消極的辦法: 不要執行 F5 ,改執行 Ctrl + F5,這樣會啟動程式但是不進行偵錯,你就可以順利執行程式了!

總而言之,應該是整個環境設定裡面,某個跟 Debug 有關的部分出錯了,導致 *.exe 雖然有產生,可是找不到正確的放置路徑,最後他就告訴你「找不到」。 而且除非你很熟悉 Visual Studio 的使用理念,否則你不會知道該怎麼去修改為正確設定的。

此外,令人不解的是,這個問題似乎只會發生在空專案。假如建立新專案時,你選擇其他種類的專案範本(比方 Windows Form 應用程式),那麼設定是良好的,通常按下 F5 都可以順利跑出執行結果。

好吧 .. 你可能想問難道沒有積極的解決辦法了嗎?

嗯 … 可能是有的,這個問題後來自己消失了,我推測是安裝了 Windows SDK  7之後,可能相關的專案設定就被安裝程式設定正確了。而我安裝的原因則是因為 Express 版沒有 x64 的編譯環境,而我需要開發 x64 的應用程式。

Windows SDK  7 搭配 安裝注意事項,請參考:

Windows SDK 7.1的Visual Studio 2010 SP1相容性問題更新檔 by [賴榮樞]的軟體資訊誌


結論

Dev C++ 一下子就搞定的事情,Visual Studio 卻弄得頗複雜…我著實無法理解微軟在這方面的設計理念,還是根本沒有設計 (笑)

看這堆琳琅滿目的功能,也不知是不是 Visual Studio 在多人的大型專案內更能發揮威力呢? 這就有賴我繼續學習下去了。

在〈C++ 研究小劄之始〉中有 4 則留言

    • 噢!
      沒有用過,剛剛搜尋了一下~ 感謝您提供資訊^^

      不過後來我都很懶惰的直接用 gcc g++ 沒用 GUI (for C/C++ 的話)

      然後,在其他的開發上則有用 C# ,不過距離這篇文章的時間也有點久了,大約在 2016 之後。從那時到現在,我 Visual Studio 用過 2012/2013/2015/2017,商業/社群/精簡版都有安裝或使用,無論是開發 web 程式 或是 window 程式(C#喔.. C/C++沒試),都沒有再遇到這樣的初始環境問題。

      算是有挽回印象,哈哈!

      再次的感謝囉! 也祝您開發與學習都順利!

    • 好的!
      感謝您的閱讀與興趣,也很高興能對您有幫助!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料