BT Sözlüğü › Programlama › ODR

ODR

Programlama Svenska → Güncellendi: 2026-10-11

Her şeyin bir programda tam olarak bir kez tanımlanabileceğini, birden fazla kez tanımlanabilenlerin ise her yerde özdeş tanımlanması gerektiğini söyleyen kural (One Definition Rule).

Bir sınıf ya da inline işlev birkaç çeviri biriminde görünebilir, ama her tanım aynı token’lardan oluşmalı ve aynı anlama gelmelidir. Standardın ifadesi can sıkıcıdır: ihlaller ill-formed’dır, tanılama gerekmez (no diagnostic required). Derleyici tek seferde tek dosya görür, bağlayıcı ise yalnızca düzeltilmiş (mangled) adları; iki dosya aynı sınıfı farklı tanımladığında — tipik olarak iki kitaplık arasında bir #define ya da paketleme pragması farklı olduğu için — bağlayıcı sessizce birini seçer, ötekini atar. Sonuç, biri bağlama sırasını değiştirene kadar çalışan bir programdır. Araçlar vardır: ASan’in bunun için bir denetimi var, lld ve gold’un da.

← Sözlüğe dön