static 関数を extern "C" ― 2013年02月23日 12時33分49秒
-qlanglvl=staticstoreoverlinkage
というオプションがある。
具体的に示すと、
extern "C" static void func(void*);
は文法的に間違った記述なのだそうだ。
extern "C"
{
static void func(void*);
}
が由緒正しき記述なのだそうである。
注意しないと行けない点は、この関数が static なこと。この static が無い、extern "C" void func(void*);
は正しい記述だ。
数々の本を漁っても extern "C" に触れているのがあればいい方で、その正しき文法の詳細を記述した本を見たことは無い。
最近のコメント