GSLライブラリのコードを勉強していて、ヘッダファイルの先頭にいくつかの行があります。 #undef、#ifdefなどは何をするのか分かりますが、私が理解していないのは、なぜ基本的に_BEGIN_DECLSの定義をリセットしたのでしょうか?技術的に、これまでの定義はないはずですよね?つまり、これらのものは静的であり、変更の対象にはならないということです。 とにかく、ここでのコードの抜粋です:C#での#undefの使用
#undef __BEGIN_DECLS
#undef __END_DECLS
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# define __BEGIN_DECLS /* empty */
# define __END_DECLS /* empty */
#endif
なぜdownvoteですか?私には妥当な質問のようです。 –