A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>>そんな事はありません。
MFCはマルチスレッドを想定していますよ。スレッド毎にメッセージマップのインスタンスを持ちます。今も昔も変わりません。
もしかして、GOOD-Frの飼い犬かね?
MFCはマルチスレッドを想定しているので、シングルスレッド、マルチスレッドの両方のライブラリがあったこの時代でも、リンクするライブラリは常にマルチスレッド用のものです。
ちなみに、現代のVisualC++には、シングルスレッド用ライブラリが存在しません。
アプリケーションのメインウィンドウはプライマリスレッドで動作します。
明示的にサブスレッドを作成しない限り、スレッドの数は常に1個です。
関数呼び出しの際に排他制御の必要はありません。
No.3
- 回答日時:
>MFCはもともとマルチスレッドを想定してつくられている
そんな事はありません。MFCで作られた、プログラムでも明示的にスレッドを起こさない限り主スレッドで動きます。
新規にMFCプロジェクトで実行ファイルを作って起動させ、タスクマネージャでスレッドの数を確認すれば一つしかない事がすぐにわかります。
No.2
- 回答日時:
>たしかCWinAppなどを使うと初回時にスレッドを一本立ててアプリは最低でも
>その下で動くようになる、、など、気付かないところでスレッドをたてられて
>しまうので、マルチスレッドバージョンのMFCは使えないのではないかという
>気がしています
これってCWinAppを使用すると内部でメインスレッド以外にワーカースレッドを
作成してしまうって事ですか?
ちなみにプラグインというのはDLLみたいな形で作成するのでしょうか?
この回答への補足
すみません、、補足を書いたのですが正常に書き込まれていませんでした。
>これってCWinAppを使用すると内部でメインスレッド以外にワーカースレッドを
>作成してしまうって事ですか?
詳しくは覚えていないのですが、CWinAppでRunを実行するとスレッドが一本走り、
それ以降の処理はそこで行われますよね。それを言いたかったのです。本来Windowsアプリはスレッドが1本もなくても動くものですから、、(もしくは最近のWindowsだと起動時のプロセスもスレッド扱いとなっているのかな、、?シングルスレッドと呼ばれるだけに。そこまではちょっとわかりません。もしくは理解を誤っているようでしたらすみません、、)
つまりMFCはもともとマルチスレッドを想定してつくられているので、MFCクラスを使用すると裏でスレッドが走るケースがあるのではないかということです、、
>ちなみにプラグインというのはDLLみたいな形で作成するのでしょうか?
説明不足で申し訳ありません。たしかにおっしゃる通りDLLで作成します。
No.1
- 回答日時:
MFCをどのように使用するのか分からないので何ともいえませんが
基本的にプラグイン側からMFCをシングルスレッドで(関数等を)使用すると
いうのであれば特に問題はないのではないでしょうか。
逆にMFCでの処理をマルチスレッドで書いていて非同期に製品側にアクセスする
(多分ないと思いますが..)場合には排他制御等のしかけが必要と思います。
この回答への補足
ご回答ありがとうございます。
MFCはアプリケーションを利用する際にしか用いたことがないのであれなのですが、、
やはりライブラリはマルチスレッドバージョンしか用意されていないようなのでコンパイラオプションはマルチスレッドにするしかないのでしょうね、、
たしかCWinAppなどを使うと初回時にスレッドを一本立ててアプリは最低でもその下で動くようになる、、など、気付かないところでスレッドをたてられてしまうので、マルチスレッドバージョンのMFCは使えないのではないかという気がしています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー Brother MFC-7460DNの一時停止解除について 1 2022/12/03 12:38
- プリンタ・スキャナー ブラザー複合機のトナー交換およびトナー残量の検知の仕組みを教えて下さい。 1 2022/07/09 12:28
- プリンタ・スキャナー エプソンとブラザーどちらのプリンタがいいでしょうか 6 2022/12/23 15:38
- その他(開発・運用・管理) VisualStudioSetup.exeの設定について(Rustのインストールの準備として) 2 2023/04/17 12:54
- バドミントン 引退までの部活に行くのが気まずいです。 1 2022/05/31 21:29
- WordPress(ワードプレス) ワードプレスのバージョン 2 2022/06/12 09:32
- HTML・CSS 使用しているプラグインの自動表記リンクを目立たなくする方法はありますか? 1 2022/07/15 19:00
- 高齢者・シニア 60歳過ぎてレッド・ツェッペリンのファンになるのは異常? 5 2022/12/01 18:38
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- その他(開発・運用・管理) Windows serverでマルチキャスト通信の確認をしたいです。MicrosoftよりMPING 1 2023/03/31 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MFC通信プログラムマルチスレッ...
-
CWnd::OnTimerのスレッドの取得
-
pthread_cond_wait 取りこぼし?
-
スレッドの安全な終了のさせ方
-
スレッドにて同一メモリの書き...
-
マルチスレッドの実行順序の制御
-
スレッドの終了の仕方
-
マルチスレッドの同期方法
-
Macターミナルで実行中のプログ...
-
バックグラウンドのプロセスの...
-
VBAの配列サイズとメモリに関して
-
vba listviewにおけるtextのAli...
-
3のつく数字と3の倍数のみを表...
-
三角形を逆三角形にしたいです...
-
C言語で、メモリを解放しないで...
-
VBSの処理中一旦処理を止めて再...
-
C# シリアル通信でデータ受信...
-
VB6からVB2010への変換について
-
ACCESS側からEXCELの書式を設定...
-
大容量のメモリ確保をスワップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
Windows上で、シグナル(SIGTERM...
-
WaitForSingleObjectの使い方に...
-
スレッドの安全な終了のさせ方
-
スレッドの終了の仕方
-
MFC通信プログラムマルチスレッ...
-
マルチスレッドプログラミング...
-
別スレッドからメインダイアロ...
-
マルチスレッドについて
-
.NetのBackgroundWorkerクラス...
-
スレッドにて同一メモリの書き...
-
別スレッドのデータを受信できない
-
同一スレッドで、ロックをかけ...
-
マルチスレッドの同期方法
-
スレッドの終了はどうやるんで...
-
待機関数(WaitForMultipleObjec...
-
msec単位のWait Timerが作れない!
-
CWnd::OnTimerのスレッドの取得
-
_beginthreadexで生成したスレ...
おすすめ情報