component.h.gen
をcomponent.h
に含めたいと思います。プリプロセッサ時間に__FILE__を追加して結果を含める方法
__FILE__
を#include
と使用することができ、ヘッダーガードがないと再帰的にインクルードすることになります。
C文字列リテラルを追加して結果を含める方法はありますか?これは私がこれまで試したものです:
#define CAT_IMPL(s1, s2) s1##s2
#define CAT(s1, s2) CAT_IMPL(s1, s2)
#define DO_IT CAT(__FILE__, ".gen")
#include DO_IT
しかし、これは自分自身を含むファイルと同じ再帰につながる - ".gen"
部分が使用されていない - と私はMSVCでこの警告が出ます:
プリプロセッサディレクティブ次の予期しないトークン - 予想改行
のgcc /打ち鳴らす/ MSVCで動作するソリューションがあります:
警告C4067?
何千ものファイルではないにしても、これを数百に使用する予定で、同じコードをコピーして貼り付けて生活を単純化したいと考えていることに注意してください。
downvoters - please please ... – onqtam