崇高的文本编辑器使用什么GUI库?
我已经下载了一个sublimetext的编辑器,我想知道那里使用的是什么GUI库。
编辑器可执行文件目录中的文件的文件名是:
bz2.pyd Microsoft.VC90.CRT.manifest msvcp90.dll msvcr90.dll PackageSetup.py PackageSetup.pyc pyexpat.pyd python26.dll python26.zip select.pyd sublimeplugin.py sublimeplugin.pyc sublimetext.exe unicodedata.pyd unins000.dat unins000.exe _ctypes.pyd _elementtree.pyd _hashlib.pyd _socket.pyd _ssl.pyd
我可以从文件名中find信息吗?
崇高的文本2主要用C ++编码,并使用自定义的UI工具包。 下面是作者Jon Skinner解释它: http : //news.ycombinator.com/item?id=2822114 。
我保留写博客文章的一些细节的意思,但是与许多事情一样,我通常最终编写代码。 崇高的文本2几乎完全是C ++(用Objective-C for Cocoa和Python for plugins)。 编码通常是相当直接的:在一个平台上的代码(现在主要是Linux,但是我频繁切换),然后确保它仍然编译在其他地方。 Sublime Text 2本身使用一个自定义UI工具包。 有很多的应用程序,这可能是没有道理的,但是对于Sublime Text来说,这并不是一个不合理的select,在那里我一直知道很多的UI控件将不得不自定义,不pipe这个工具包是什么(例如文本控件和选项卡控件)。 UI工具箱位于跨平台抽象层之上,这更多地是平台function的联合,而不是最低的共同点。
有一点谷歌searchbuild议使用Sublime GUI,由Debian源码包来判断是用C ++编写的。
再次,在Linux sublime_text
二进制文件上运行strings
显示以下共享库(相当于Windows DLL)可能会提示gtk:
/lib/ld-linux.so.2 libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libgio-2.0.so.0 libpangoft2-1.0.so.0 libpangocairo-1.0.so.0 libgdk_pixbuf-2.0.so.0 libcairo.so.2 libpng12.so.0 libpango-1.0.so.0 libfreetype.so.6 libfontconfig.so.1 libgobject-2.0.so.0 libgmodule-2.0.so.0 libgthread-2.0.so.0 librt.so.1 libglib-2.0.so.0 libpthread.so.0 libdl.so.2 libutil.so.1 libm.so.6 libX11.so.6 libstdc++.so.6 libgcc_s.so.1 libc.so.6 libgio-2.0.so libgio-2.0.so.0 module.so
这也暗示了gtk。
它可能不是用Python编写的。 你看到Python代码的原因是用户可以在Pythons中编写脚本/插件来扩展Sublime Text。 我怀疑它是用C ++编写的GTK作为GUI工具包。