竹園論壇

標題: 跨平台的多線程(1) - Thread [打印本頁]

作者: Sylveon    時間: 2014-5-3 21:09
標題: 跨平台的多線程(1) - Thread


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

打完前別跟我卡樓阿~

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

作者: Sylveon    時間: 2014-5-4 11:40
第一章 C++11 開發配置。

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

首先來介紹VC++好了:

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


基本上只有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一同示範以確保程式之穩定性


作者: Sylveon    時間: 2014-5-18 16:46
第二章 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物件,




    歡迎光臨 竹園論壇 (http://forum.tfcis.org/) Powered by Discuz! X3.2