- 1 名前:デフォルトの名無しさん [2007/08/24(金) 11:30:45 ]
- 質問はあるけど、詳しい事は書けないと言う人はこちらで質問をどうぞ。
名無しのエスパーが回答します。 宿題スレで相手にされなかった人もこちらでどうぞ。 使用に関しての注意 (1) 基本的には答えますが、未熟者〜上級者・エスパー等います (2) 回答者:書かれている情報を頼りに、不足部分は各自補って解決へ導く事 質問者:結果が自分の意図よりも異なった場合、反省+情報をもう少し詳しく明記する事 (3) マルチはスルーする事 (4) ★質問者は、名前欄に質問提起時のレス番号を記入する事(別質問なら別番号で)★ 誰が誰やら分かりません
- 191 名前:デフォルトの名無しさん [2009/12/29(火) 14:52:41 ]
- 環境:VisualStudio2008
言語:C++(使ってるlibの内部はCかも) CのFILE*って、スレッドをまたぐと無効になったりするのでしょうか? ネットで拾ったlibをプログラムに組み込んでみたところ、 そのlibの中でfopenしたファイルポインタはきちんと使えてるのですが、 libの外でfopenしたポインタを渡すように少しlibのソースを改造すると 途中で例外が出てプログラムが止まるようになります。 自分で調べた限りでは、(おそらくlibの中で呼んでる)fseek関数の中で _lock_str(FILE*) したときに 「ファイルのロックを行うifブロックに流れている」のですが、 外からファイルポインタを渡すとそのifブロックを外れてelseで EnterCriticalSection という関数に流れてしまい それが例外を吐いているようです。 libがfopenする前にスレッドを分けている感じなので、 ひょっとしたらマルチスレッドが原因なのかな?と思っているのですが、そんなもんなんでしょうか
- 192 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 14:54:25 ]
- /MTと/MDの差?
エラーをNODEFAULTLIBとかで無理やり抑えたとか
- 193 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 21:51:43 ]
- >>191
無効にはならないことが問題になるのでスレッドをまたいだらNG
- 194 名前:デフォルトの名無しさん [2010/06/23(水) 18:16:08 ]
- h
- 195 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 20:56:13 ]
- エスパーが質問するスレでございます
- 196 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 01:15:22 ]
- Sパー(Superパー)が質問するスレでございます
- 197 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 08:16:28 ]
- 24時間以内に質問は来ないな。
- 198 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 17:30:01 ]
- 俺は何がしたいんだろう。
- 199 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 18:11:46 ]
- 質問来ましたね、9時間ちょっとで
- 200 名前:197 mailto:sage [2010/06/30(水) 14:52:41 ]
- >>199
198はエスパー
- 201 名前:デフォルトの名無しさん [2010/07/14(水) 09:28:47 ]
- なぜ
|

|