gpt4 book ai didi

Python/C "defs"文件 - 它是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:03:59 24 4
gpt4 key购买 nike

在 nautilus-python 绑定(bind)中,有一个文件“nautilus.defs”。它包含像这样的节

(define-interface MenuProvider
(in-module "Nautilus")
(c-name "NautilusMenuProvider")
(gtype-id "NAUTILUS_TYPE_MENU_PROVIDER")
)

(define-method get_mime_type
(of-object "NautilusFileInfo")
(c-name "nautilus_file_info_get_mime_type")
(return-type "char*")
)

现在我可以看到其中大部分的作用(例如,最后一个意味着我可以在“FileInfo”对象上调用方法“get_mime_type”)。但我想知道:这个文件到底是什么(即,我在网上搜索什么以查找更多信息)?在 Python/C 绑定(bind)中很常见吗?格式是什么,记录在哪里?什么程序实际处理它?<​​/p>

(到目前为止,我已经设法收集到它得到了 transformed into a C source file ,对我来说它看起来有点像 lisp。)

最佳答案

回答您的“实际处理它的程序是什么?”问题:

src目录下的Makefile.in,将.defs文件翻译成C的命令是PYGTK_CODEGEN。要找出什么是 PYGTK_CODEGEN,请查看顶级 configure.in 文件,其中包含以下几行:

AC_MSG_CHECKING(for pygtk codegen)
PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
AC_SUBST(PYGTK_CODEGEN)
AC_MSG_RESULT($PYGTK_CODEGEN)

所以处理它的程序是一个名为 codegen.py 的 Python 脚本,它显然与 PyGTK 有一些联系。现在谷歌搜索 PyGTK codegen 给我 this link作为第一击,它说:

“PyGTK-Codegen 是一个自动生成包装器的系统,用于将 GTK 代码与 Python 连接起来。”

并给出了一些例子。

至于:“格式是什么,记录在哪里?”。正如其他人所说,代码看起来很像简单的 Scheme。我在 PyGTK 站点上根本找不到关于 codegen 的任何文档;这看起来像是开源的许多黑暗角落之一,没有很好的记录。最好的办法可能是下载 PyGTK 的最新 tarball,查看 codegen.py 文件的源代码,看看文件本身是否包含足够的文档。

关于Python/C "defs"文件 - 它是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2712054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com