當閱讀Enlightenment's代碼時,我發現一些關於C的東西我不明白。我會貼上線條並解釋爲什麼它不清楚。我不明白的C代碼
Eina_Bool (*hide)(void *data, Evas_Object *o);
void (*del)(void *data, Evas_Object *o);
在這個問題上,括號之間的那個指針值是什麼意思就是返回值之後? 另請注意,這兩個函數的第一個參數是void *data
。這是否意味着您可以將指針傳遞給函數的任何類型的數據?
EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj);
幾乎API上的所有功能都以EAPI
開頭。那是什麼意思?它是一種名稱空間嗎?我在哪裏可以找到關於這方面的信息?
另請注意他們如何使用其中的一個庫:Elementary。
EAPI_MAIN int elm_main(int argc, char **argv) {
// CODE
}
ELM_MAIN()
而不是使用一個主要功能,您使用elm_main再次與那些大寫標誌:EAPI_MAIN
。 而剛纔的功能有奇怪的ELM_MAIN()
沒有分號。
如果你們在我第一次看到他們的時候向我解釋一些看起來很奇怪的東西,我會很感激。
注意:我粘貼的所有示例都來自elm_win.h小標題。
對於第一個問題,它們是函數指針。 EAPI是一個空的定義,可能僅用於註釋代碼。 ELM_MAIN()是定義要調用elm_init的main()函數,並調用elm_main – nhahtdh