Aşağıdaki kod snippet'lerinde glade_project_get_type işlevi için uygulama kodu eksikliğinden şaşıyorum.Bildirilen C işlevi nasıl uygulanamaz?
GType glade_project_get_type (void) G_GNUC_CONST;
/* From glib/gmacros.h:
#define G_GNUC_CONST __attribute__((__const__))
__attribute__((const)) function attribute
Many functions examine only the arguments passed to them and have no effects
except for the return value.
If a function is known to operate only on its arguments then it can be subject
to common sub-expression elimination and loop optimizations.
*/
Hiçbir yerde bulabilirim:
#define GLADE_TYPE_PROJECT (glade_project_get_type())
Bu glade_project_get_type()
beyanı gibi görünmektedir: birleşik başlık dosyasından
project = g_object_new (GLADE_TYPE_PROJECT, NULL);
: .c dosyasından
glade_project_get_type() için uygulama kodu ancak yazılım hatasız derleniyor Belli ki, anlamadığım bir şey var.
GType glade_project_get_type (void)
{
GType aType;
< some code giving a value to aType >
return aType
}
Yani, C programlama hakkında anlamıyorum:
yere böyle bir şey meydana geldiği düşünülmektedir?
Çok yardımcı olan açıklamalarınız için teşekkürler ama hala tam bir anlayış eksikliği. Glade-project.c dosyasında "glade_project_get_type 'ın şu satırlarını buldum ama bunların glade_project_get_type() ile nasıl ilişkili olduğunu anlamıyorum. Kitaplarımda herhangi bir açıklama bulamadığım için bu mekanizmayı açıklayan bir kitap var mı? – Roger
Daha fazla arama yaptıktan sonra ana bilgi kaynağı GObject Referans kılavuzudur? – Roger
@Roger: Muhtemelen. Korkarım genelde Glade'in genel olarak nasıl çalıştığını bilmiyorum. Bu kodun nasıl derlendiğine dair sorunuzu yanıtlamayı düşünüyordum, ama aslında nasıl kullanacağım konusunda yardımcı olamıyorum. Yeni bir soru sormak isteyebilirsiniz. –