查看: 2626|回復: 3
打印 上一主題 下一主題

[C++11] 跨平台的多線程(1) - Thread

[複製鏈接]
  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-5-3 21:09:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x


    跨平台的多線程(1) - Thread
    教學目錄

    打完前別跟我卡樓阿~

    意外的發現因為載入順序的關係,用目錄連進來的不會highlight,就一層樓一層樓看吧
    By Sylveon

    點評

    嘿嘿~卡沙發?? 我是說...現在DEV C編譯的程式還會限定本機才能執行嗎?  發表於 2014-5-3 21:23
    回復

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    頭香
     樓主| 發表於 2014-5-4 11:40:13 | 只看該作者
    第一章 C++11 開發配置。

    我個人開發程式的話請向使用VC++,在程式量較大時強大的Debug及自動補齊的功能相當的好用,如果只是示範或簡單打的話,用的GCC配DEVC++之類的就OK了。

    首先來介紹VC++好了:

    在2010年以前的版本是不支援C++11的,而在2012/2013年改名叫Visual Studio for Windows Desktop後才可以用C++11,下有數個版本

    • Visual C++Express
    • Visual C++Professiona
    • Visual C++Premium
    • Visual C++Ultimat

    基本上只有Express 版本是免費的,但是比起其他版本功能不完整,比如說不提供圖形介面的資源檔編輯之類的,不過對於學生來說算很夠用了,畢竟也只是IDE嗎,還是免費的,重點還是要會寫程式。缺點的話就是整體很肥,安裝300MB以上跑不掉,2012以上版本又把C++/VB/C#綁在一起,連不想用的順便送給你,我可不要阿!
    載點
    Visual Studio Express 2012 for Windows Desktop Win7以上才能用
    Visual Studio Express 2013 for Windows Desktop Win8限定


    GCC(GNU Compiler Collection)
    只有compiler,通常會加個IDE使用,或者IDE本身就內附了這個,Windows下主要有分32位元程式用的MinGW、64位元用的MinGW-w64整合版的TDM-MinGW GCC,最大的優點是編譯器跨平台,已是多數競賽比賽使用的編譯器,如果不想拘泥於Windows開發的話這算是首選。不過要用GCC來開發的話,編譯C++11的程式需加參數 -std=c++11 才可使用。搭配的IDE列舉如下

    廣用純文字編輯器
    Notepad++
    Vim

    專門IDE
    DEV C++ Orwell 5.6.2 (拜託別用4992啦~)
    Code::Blocks
    XCode Apple用的
    Eclipse

    載點
    純Complier

    MinGW
    TDM C++

    以下示範會以VC++2012/2013及GCC一同示範以確保程式之穩定性

    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    3#
     樓主| 發表於 2014-5-18 16:46:35 | 只看該作者
    第二章 Hello Thread!

    一開始我們先來介紹C++11最簡單的多線程「thread」。所需的檔案都已經包在thread裡,使用時把標頭引入即可。
    (GUN4.8.1的thread我一直編譯不過,我不知道發生什麼事)

    @Code For VC++
  • #include<iostream>
  • #include<thread>

  • using namespace std;

  • void task(){
  •     cout<<"Hello Thread!"<<endl;
  • }

  • int main(){
  •     thread td(task);
  •     td.join();
  • }



  • 逐行解說

    Line 11
    宣告一個thread物件,
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表