MinGWのマルチスレッド

Pocket

-mthreadsオプションを加えないといけないみたい。mingwm10.dllが使われるんだって。
-mthreadsを使うと、_MTというマクロがdefineされた状態になって、getc,putcなどがインライン関数でなくてライブラリにあるものが使われるようになる。
コンパイルとリンクを別々にやるときは、コンパイル時に-D_MTをつけないといけないか。
その他にも、ヘッダーのgthreadかな、の中にも書いてあるけどわけわからなかったり。
Cのプログラムを作って、依存関係を調べてみると、mingwm10.dllは必要なかった。C++のプログラムの場合は、リンクしたライブラリがDLLを必要とするようです。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください