Tek bir başlık dosyasıyla daha temiz bir yol vardır, bu nedenle bakımı daha kolaydır. Global değişkenlerin bulunduğu başlıkta, her bildirime bir anahtar kelime (ortak kullanıyorum) ön eki sonra sadece bir kaynak dosyaya şunu ekleyin
#define common
#include "globals.h"
#undef common
ve bunun gibi diğer kaynak dosyalar
#define common extern
#include "globals.h"
#undef common
Globals.h dosyasındaki hiçbir değişkeni başlatmadığınızdan emin olun, aksi takdirde bağlayıcı, extern anahtar sözcüğü ile bile başlatılmış bir değişken harici olarak değerlendirilmediğinden şikayet etmeye devam edecektir. Global.h dosyası buna benzer
#pragma once
common int globala;
common int globalb;
etc.
herhangi bir beyan türü için işe yarıyor gibi görünüyor. Elbette #define'da ortak anahtar kelimeyi kullanmayın.