在阅读Enlightenment的代码时,我发现关于CI的一些东西不明白。我将粘贴这些线条并解释为什么我不清楚。
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()
您无需使用 main 函数,而是将 elm_main 再次与那些大写标志一起使用:EAPI_MAIN
。就在函数之后,ELM_MAIN()
没有分号就很奇怪。
如果你们向我解释一下我第一次看到他们时看起来很奇怪的所有这些,我将不胜感激。
注意:我粘贴的所有示例都来自elm_win.h基本头文件。