とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

重要なのはランタイムライブラリの初期化が行わるのか?です。

ネタ元:[OpenMP]分身!

質問されました。

>PPL では、WriteConsole 関数ではなく、_tprintf 関数が使えると書かれていますね

質問は、ここですよね?

私のエントリーでは、_tprintf 関数が使えるとは書いていません。書いたのは、

「PPLが使えるランタイムライブラリは、マルチスレッド版なのでCRTの各関数も利用できます。」

です。同じようですが同じではありません。元ネタを肴にしてなぜそっち?とやるべきだったのかな。。。CreateThread API を引き合いに出してる時点でかなり間違っています。

OpenMPは、コンパイラ拡張ですが、特定のコンパイラの実装に依存できるため、そのコンパイラ用のライブラリにも依存することができます。

PPLはそもそもライブラリ実装ですので、そのライブラリにある関数すべてが利用できます。

ですが、APIはOSの機能であるため、特定の開発環境に依存しません。それこそランタイムライブラリが別途必要であるということにすら依存しません。

したがって、CreateThread API は呼び出す側がスレッドを作成し、利用する場合何らかの初期化処理を必要とするのか?ということ自体を知りませんし、知る必要もありません。もちろんサンプルベースであってもです。

そのため、CreateThread のサンプルではそういった特定の環境に依存しない記述としておかなければならず、昔からそういう記述でなされてきています。

私がネタ元とした、OpenMP 面白い ですが、こちらを引き合いに出す時に、CreateThread のサンプルを使ったのがそもそもの間違い。。。というべきだったのでしょうか?ここは、_beginthread か _beginthreadex のサンプルを使うべきだ!と。。。

 

 

WriteFileの部分については、また別のエントリーであげます。こっちはお題的に別の理由で取り上げたかったネタなので。。。

投稿日時 : 2010年10月25日 14:33

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント