stdafx.hについて
これはなに
Visual StudioでSiv3Dの新規プロジェクトを作成すると、stdafx.hとstdafx.cppが追加されている。これは プリコンパイル済みヘッダ というもので、stdafx.h内でインクルードしたヘッダファイル(例えば、Siv3Dでは使わないがvector)はあらかじめコンパイルされ、後にvectorをインクルードする際にキャッシュとして利用させるため、ビルド時間が大幅に短縮される。vectorなどのSTLや外部ライブラリなど、頻繁に使うけどあまり更新しないヘッダファイルを書くとよい。 Siv3Dで使うとき
新規プロジェクト作成時のstdafx.h
code:stdafx.h
# pragma once
//# define NO_S3D_USING
# include <Siv3D.hpp>
stdafx.hには最初から# include <Siv3D.hpp>と書かれている
これは多分消しちゃだめ
ここでコンパイルされるので、Main.cppでSiv3Dをインクルードしなくても動く
でもpragma onceがあるからインクルードガードされるし、慣習として書いた方がいいと思う
おすすめはキーコン設定とか、シーン管理とか
小さくて普遍的で雑に使うやつを書くとよい?
時間周りのヘッダファイルをインクルードしている人も見かけた
個人的にはインクルード忘れを防ぐために使っている。
相互参照が解決されることもある?でもエラーのもとになるので、前方宣言したほうがいいです
そもそも stdafx は何の略称か
Standard Application Framework Extensions
歴史的背景:
参考
stdafx.hはpch.hに名前が変わったらしい……?