とある製品のソースコードを眺めていたときに疑問に思って調べたことをメモします。
C言語で通常、大域変数(グローバル変数)を複数のソースファイルで共有する場合、共通でincludeするヘッダファイルにextern int abc;みたいに書いて、ソースファイルのいずれか1つに実体をint abc;みたいに書くと(私は)思っていたのですが、その製品のソースではヘッダファイルの方にint abc;とあり、各ソースファイルにextern int abc;という風に書かれています。
Continue reading →