私はCプログラムを書いていますが、特定のマクロが少なくとも 1 回使用された場合、その関数がオブジェクト ファイルに 1 回だけコンパイルされるように関数を書きたいと考えています。
私はこれらの行で何かを考えていました:
#define CERTAIN_MACRO \
...some code here... \
#include "myfunction.h"
(複数のインクルードを防ぐために適切なインクルード ガードを使用して、myfunction.h に関数コードを追加する)、または
#define CERTAIN_MACRO \
...some code here... \
#define USE_MY_FUNCTION
#ifdef USE_MY_FUNCTION
my function code
#endif
しかし、マクロ展開コードでは and が許可されていない#define
ため、どちらも機能しません。#include
助言がありますか?