_cplusplusという罠

C++としてソースファイルをコンパイルする際、__cplusplusが定義済みマクロとして定義されているわけだが。C/C++リファレンスの定義済みマクロのページを信用して、というか_cplusplusの部分をコピペして

#ifdef _cplusplus  // 正確には __cplusplus
extern "C"
{
#endif

とか意気揚々と書いたわけですよ(もちろん閉じ中カッコも)。そしたら「そんな名前の関数はねぇ!」と怒られたわけですよ。googleで調べながら2時間ほどイロイロ(externとかstaticとか外部/内部リンケージを持つ条件の勉強も(今更ながら)した)やっても解決しねぇ。

で、何かヒントにならないかとzlib中のヘッダファイルを覗いてみたわけです。そしたらアンダーバーが2つくっついてるのに気付いてげっそり。そしてもう眠い(極限状況)。

嘘ついちゃいけないと思います!!