- - PR -
マルチスレット
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-13 11:48
これが、調べても出てこなかった、なんて、私は信じませんけどね。
これだって、 1.サンプルを丸写してきて、とにかく動作するようにする。 2.余計な機能を削除する。(何が余計かは、判断できるんですよね) これで、お望みのものが手にはいると思います。 | ||||||||
|
投稿日時: 2007-02-13 11:53
みなさん、知らないことは知らないとちゃんと答えてあげたほうがいいですよ。
もちろん僕は知らないです。マルチスレットの検証なんて。 しかし、マルチでスレットだなんてなんか分からないですが怖いですね。 ・・・という挙げ足とりはおいといて、実際に「VC++でマルチスレッド」だと検索してもあまり手ごろそうなサンプルは見つからないかも。 [ メッセージ編集済み 編集者: sawat 編集日時 2007-02-13 12:08 ] | ||||||||
|
投稿日時: 2007-02-13 12:10
いや、あっさり見つかりましたよ? 50行程度の超シンプルな奴が。 #簡単に見つかるんでわざわざ提示はしませんけどね -- 追記 -- あー、でもMFCのCThreadとかだと確かにサンプル少ないかもしれませんね。 #私が見つけたのはWIN32 APIだし -- /追記 -- [ メッセージ編集済み 編集者: D.Matsu 編集日時 2007-02-13 12:15 ] | ||||||||
|
投稿日時: 2007-02-13 12:15
M女史といい。まいこといい。みつるといい。mukoubutiといい。MARE-といい。
全員Mだなw コードは転がっていると思うわけだが。 http://www.google.co.jp/search?hl=ja&q=VC%2B%2B+%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89 編集:mukoubutiを追加 [ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2007-02-14 15:51 ] | ||||||||
|
投稿日時: 2007-02-13 13:17
たとえば、
#include <stdio.h> #include <windows.h> #include <process.h> unsigned __stdcall mythread(void *); int main() { DWORD thID; HANDLE hTh; int i; hTh = (HANDLE)_beginthreadex(NULL, 0, mythread, NULL, 0, &thID); for (i = 0; i < 20; i++) { printf("Mainです[%d]\n", i); } if (hTh != NULL) { CloseHandle(hTh); printf("ハンドルクローズしました\n"); } return 0; } unsigned __stdcall mythread(void *lpx) { int i; for (i = 0; i < 4; i++) printf("スレッドです[%d]\n", i); return 0; } を実行すると、 error C2065: '_beginthreadex' : 定義されていない識別子です。 ってエラーが出てきます。 こんなんばっかりな実例コードばっかりしか見つかりません。 | ||||||||
|
投稿日時: 2007-02-13 13:27
コンパイラにマルチスレッドを使用することを伝えていないからでは?
多分、猫でもわかる〜のページのサンプルだと思いますが >「マルチスレッドのプログラムを作る時は、前準備が必要です」 と書いてありますよ。 ありゃ、修正していたらかぶった.. [ メッセージ編集済み 編集者: 末記人 編集日時 2007-02-13 13:38 ] | ||||||||
|
投稿日時: 2007-02-13 13:33
たぶん、「猫でもわかるプログラミング」からの転載だと思うのですが
ページには
って書いてありますよ。。。 | ||||||||
|
投稿日時: 2007-02-13 13:42
ソリューションエクスプローラでソリューションの名前を右クリックして「プロパティ」を選択します。「C++」の「コード生成」でランタイムライブラリを「マルチスレッド(/MT)」にします。
って意味もよくわかりません。 |