Etiket (programlama) - Tag (programming)

İçinde programlama, bir etiket bir tartışma bir altyordam alt rutine sınırsız sayıda etiketli parametreyi iletmenin bir yolu olarak kullanılan, kendisine iletilen diğer argümanları belirler; özellikle, etiketler bir dizi sistem çağrısı için kullanılır. AmigaOS v2.0 ve sonrası.

AmigaOS'ta

Önceki sürümlerinde AmigaOS, bir sistem çağrısı çok sayıda parametrenin ayarlanmasını gerektiriyorsa, bunları işlev bağımsız değişkenleri olarak iletmek yerine, işlev bir yapı argümanları tutan (örneğin, intuition.library 's Açık pencere() gereklidir struct NewWindow 17 farklı parametre ile). Etiketler, AmigaOS 2.0'da "orijinal parametrelere müdahale etmeden sistem işlevlerine yeni parametreler eklemeyi mümkün kıldığından. Ayrıca parametre listelerinin belirlenmesini çok daha net ve kolay hale getirdiği" için tanıtıldı.[1]

Bir dizi üçüncü şahıs AmigaOS için yazılım kitaplıkları da etiketleri yoğun şekilde kullanır.

Misal

AmigaOS 1.3AmigaOS 2.0+
yapı Pencere *wnd;yapı Yeni Pencere nw = {        10, 10,        100, 100,        0, 1,        IDCMP_CLOSEWINDOW,                WFLG_SIZEGADGET |                 WFLG_DRAGBAR |                WFLG_DEPTHGADGET |                WFLG_CLOSEGADGET |                WFLG_ACTIVATE,        BOŞ, BOŞ,        "WikiWindow",        BOŞ, BOŞ,        0, 0,        640, 400,        WBENCHSCREEN};wnd = Açık pencere(&nw);
yapı Pencere *wnd;wnd = OpenWindowTags(BOŞ,        WA_Left, 10, WA_Top, 10,        WA_Width, 100, WA_Height, 100,        WA_IDCMP, IDCMP_CLOSEWINDOW,        WA_Flags,                WFLG_SIZEGADGET |                WFLG_DRAGBAR |                WFLG_DEPTHGADGET |                WFLG_CLOSEGADGET |                WFLG_ACTIVATE,        WA_Title, "WikiWindow",        WA_PubScreenName, "Tezgah",        TAG_DONE );

Etiketsiz kod belirsizdir (örneğin, 0, 1 pencere renkleri tanımlayın) etiketli kod kendi kendini belgelendirirken. OpenWindowTag'ler varsayılan parametrelere geri döneceğinden, yapıda olduğundan daha az parametrenin etiketlerle tanımlanması gerekir.

Uygulama

AmigaOS, kendi içinde etiket işleme işlevleri sağlar. Utility.library.

Genel olarak

Etiketlerin bir avantajı, çalışmayı kolaylaştırmalarıdır. varsayılan argümanlar çünkü programcının bunları veya ikamelerini belirtmesi gerekmez. Bundan başka bir avantaj, her ikisine de ulaşmanın kolaylığı ileri ve geriye dönük uyumluluk harici kütüphaneler: kütüphanenin daha eski bir versiyonu için yazılmış bir program daha yeni bir programla çalışacaktır, çünkü yeni kütüphane, program tarafından sağlanmayan tüm parametreleri varsayılan değerlerine ayarlayacaktır; ve kitaplığın daha yeni bir sürümü için yazılmış bir program, eski kitaplık yeni tanıtılan etiketlere hiç dikkat etmeyeceğinden, eski sürümle çalışmaya devam edecektir.

Etiketlerin bir dezavantajı, işlenmelerinin bir yapı ya da yığın. Bunlara ek olarak, Derleme zamanı tür denetimi kayıp.

Ayrıca bakınız

Referanslar

  1. ^ Amiga ROM Kernal Referans Kılavuzu: Kitaplıklar (3. baskı). s. 867. ISBN  0-201-56774-1.

Dış bağlantılar