DXライブラリ 総合スレッド その3at GAMEDEVDXライブラリ 総合スレッド その3 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト768:名前は開発中のものです。 09/07/24 09:09:49 5C3gkZxn ああ、気付きにくいかもしれないことを補足。 自作ヘッダから<string>とか<math.h>とか使いたい場合も、「必ず全ての*.cppの最初で stdafx.hがインクルードされる」という規則だから、結局は自作ヘッダがインクルードされる 時点ではstdafx.hが既に読み込み済みになってる。 なので、自作ヘッダに#include <string>とか書く必要も無し。自作ヘッダで使いたい標準の ライブラリなんかのincludeも、全部stdafx.hに逃がせばおk。 769:名前は開発中のものです。 09/07/24 17:40:08 JWiEj2kH これは便利そうですね デメリットとかはありますか? 770:名前は開発中のものです。 09/07/24 18:12:52 HmqJ54co 今の俺には何のことだかさっぱりだがメモっておく 771:名前は開発中のものです。 09/07/24 19:26:36 5C3gkZxn デメリットは思い当たらないなぁ。 「使いたい外部ライブラリのヘッダを全部何も考えずにstdafx.hに入れまくれ」 「全てのcppファイルの頭でstdafx.hをインクルードしろ」 ってルールが縛りといえば縛りだけど、むしろ楽になるだけだと思う。コンパイルも 別次元に速くなるし。 原理的には、stdafx.hの中身をコンパイルし終わったとこでいったん止めちゃって、 中間情報として拡張子pchのファイルに保存しておき、*.cppをコンパイルする時に その情報を使い回して、#include "stdafx.h"まで読み飛ばして、それ以降のソース だけコンパイルするイメージ。実際に内部がどう動いてるかは知らないけど。 なので、cppの頭で#include "stdafx.h"を入れ忘れると、 「プリコンパイル済みヘッダーの検索中に予期せぬ EOF を検出しました」 とか言われる。 stdafx.hの中には、C++のソースなら何書いても多分平気だから、大抵の使い方には 対応できると思われ。あまり頻繁に書き換えると、そのたびにpch作り直しで効果が 薄まるけど、自作ヘッダでも「更新少ない」「かなり色々なソースから参照される」 みたいな奴はstdafx.hに入れちゃってもいいと思う。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch