我找不到pygame.init()函数。请看看我做了什么。
ckim@chan-ubuntu:~$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygame
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
>>> print (pygame.__file__)
/usr/local/lib/python2.7/dist-packages/pygame/__init__.pyc
>>> pygame.init()
(6, 0)
所以我在/usr/local/lib/python2.7/dist-packages/pygame下搜索,但找不到pygame模块的init()源代码。在那里,我找到了包含init的base.so文件(已通过nm base.so检查)。那么pygame是否未安装所有源代码,由C或C ++实施并由.so文件提供的某些功能和类型?
答案 0 :(得分:2)
是的,pygame的很大一部分是用C编写的。
Here's是pygame模块的init
方法的源代码。
我不知道Linux中的编译文件是什么样子,因为目前我还没有准备好pygame的Linux机器。但是在Windows上,您会找到例如base.cp37-win32.pyd
,基本上是带有已编译C代码的DLL。