Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen glib-genmarshal komutudur.
Program:
ADI
glib-genmarshal - GLib kapanışları için C kodu sıralayıcı oluşturma aracı
SİNOPSİS
glib-genmareşal [SEÇENEK DOSYASI...]
TANIM
glib-genmareşal geri arama için C kodu sıralayıcıları oluşturan küçük bir yardımcı programdır
GLib'in GObject alt kitaplığındaki GClosure mekanizmasının işlevleri. sıralayıcı
işlevlerin standart bir imzası vardır, bir dizi kapatma işleminde iletilirler.
geri çağırma işlevi parametrelerini tutan değer yapıları ve
geri aramanın dönüş değeri. Sıralayıcı daha sonra ilgili C'yi aramakla sorumludur.
Yığın üzerindeki tüm parametrelerle kapatmanın kod işlevi ve
geri dönüş değeri.
glib-genmareşal girdi olarak oluşturulacak sıralayıcıların bir listesini alır. Sıralayıcı listesi
standart girdiden veya ek argümanlar olarak iletilen dosyalardan okunabilir.
Komut satırı.
Marshall liste biçim
Sıralayıcı listeleri satır satır işlenir, bir satır formda bir yorum içerebilir
of
veya formun bir sıralayıcı özelliği
RTİPİ:PTİP
RTİPİ:PTİP,PTİP
RTİPİ:PTİP,PTİP,PTİP
(16 A kadar PTİPs mevcut olabilir).
The RTİPİ kısmı, geri aramanın dönüş türünü ve PTİPkolona doğru
ilk ve son argümanlar dışında, geri aramanın parametre listesini belirtin.
her zaman işaretçilerdir.
Parametre türleri
Şu anda aşağıdaki türler desteklenmektedir:
GEÇERSİZ
dönüş türü olmadığını veya ekstra parametre olmadığını gösterir. Eğer GEÇERSİZ parametre olarak kullanılır
liste, hiçbir ek parametre mevcut olmayabilir.
BOOLE
boole türleri için (gboolean)
TANK
imzalı karakter türleri için (gchar)
UÇAR
imzasız karakter türleri için (guchar)
INT
imzalı tamsayı türleri için (gint)
UINT
işaretsiz tamsayı türleri için (guint)
UZUN
imzalı uzun tamsayı türleri için (glong)
UZUN
işaretsiz uzun tamsayı türleri için (gulong)
INT64
imzalı 64 bit tamsayı türleri için (gint64)
UINT64
işaretsiz 64 bit tamsayı türleri için (guint64)
SIRALAMA
numaralandırma türleri için (gint)
BAYRAKLAR
bayrak numaralandırma türleri için (guint)
FLOAT
tek hassas şamandıra türleri için (gfloat)
ÇİFT
çift duyarlıklı şamandıra türleri için (gdouble)
STRING
dize türleri için (gchar*)
ÇERÇEVELİ
kutulu (anonim ancak referans sayılır) türler için (GBoxed*)
PARAM
GParamSpec veya türetilmiş türler için (GParamSpec*)
İŞARET
anonim işaretçi türleri için (gpointer)
NESNE
GObject veya türetilmiş türler için (GObject*)
VARIANT
GVariant türleri için (GVariant*)
YOK
kullanımdan kaldırılan takma ad GEÇERSİZ
BOOL
kullanımdan kaldırılan takma ad BOOLE
SEÇENEKLER
--başlık
Sıralayıcıların başlık dosyası içeriğini oluşturun.
--vücut
Sıralayıcıların C kod dosyası içeriğini oluşturun.
--önek=ÖNEK
Sıralayıcı önekini belirtin. Varsayılan önek "g_cclosure_marshal"dır.
--skip-kaynak
Oluşturulan yorumlarda kaynak konumu açıklamalarını atlayın.
--stdinc
GObject kitaplığının standart sıralayıcılarını kullanın ve içine gmarshal.h dosyasını ekleyin.
oluşturulan başlık dosyaları.
--nostdinc
GObject kitaplığının standart sıralayıcılarını kullanmayın ve gmarshal.h dosyasını atlayın.
oluşturulan başlık dosyalarına yönergeyi dahil edin.
--dahili
G_GNUC_INTERNAL kullanarak oluşturulan işlevleri dahili olarak işaretleyin.
--valist-yolcular
g_signal_set_va_marshaller() ile kullanım için valist sıralayıcılar oluşturun.
-v, --versiyon
Sürüm bilgilerini yazdırın.
--g-ölümcül-uyarılar
Uyarıları ölümcül yapın, yani bir uyarı oluştuğunda hemen çıkın.
-h, --yardım et
Kısa yardım yazdırın ve çıkın.
-v, --versiyon
Sürümü yazdırın ve çıkın.
ÖRNEK
Aşağıdaki geri arama işlevleri için sıralayıcılar oluşturmak için:
geçersiz foo (gpointer veri1,
işaretçi verileri2);
boşluk çubuğu (işaretçi verileri1,
gint parametre1,
işaretçi verileri2);
gfloat baz (gpointer verileri1,
gboolean parametre1,
guchar param2,
işaretçi verileri2);
marshaller.list dosyası şöyle görünmelidir:
GEÇERSİZ: GEÇERSİZ
BOŞLUK: INT
Şamandıra:BOOL,UCHAR
ve glib-genmarshal'ı şöyle çağırırsınız:
glib-genmarshal --header marshaller.list > marshaller.h
glib-genmarshal --body marshaller.list > marshaller.c
Oluşturulan sıralayıcılar, işlev adlarında kodlanmış bağımsız değişkenlere sahiptir. Bunun için
belirli bir liste, onlar
g_cclose_user_marshal_VOID__VOID(),
g_cclose_user_marshal_VOID__INT(),
g_cclose_user_marshal_FLOAT__BOOLEAN_UCHAR().
Doğrudan GClosures için kullanılabilirler veya GSignalCMarshaller olarak geçirilebilirler.
c_marshaller; sinyallerin yaratılması üzerine argüman:
GCLosure *cc_foo, *cc_bar, *cc_baz;
cc_foo = g_cclosure_new (BOŞ, foo, NULL);
g_close_set_marshal (cc_foo, g_cclose_user_marshal_VOID__VOID);
cc_bar = g_cclosure_new (BOŞ, çubuk, BOŞ);
g_close_set_marshal (cc_bar, g_cclose_user_marshal_VOID__INT);
cc_baz = g_cclosure_new (BOŞ, baz, BOŞ);
g_close_set_marshal (cc_baz, g_cclose_user_marshal_FLOAT__BOOLEAN_UCHAR);
onworks.net hizmetlerini kullanarak glib-genmarshal'ı çevrimiçi kullanın