Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python标准库如何调用C或C++;?_Python_C_Interpreter_Cpython - Fatal编程技术网

python标准库如何调用C或C++;?

python标准库如何调用C或C++;?,python,c,interpreter,cpython,Python,C,Interpreter,Cpython,cpython的“time.py”中的函数几乎就是“pass”定义。我猜它的函数是在lib/python2.7/lib dynload/time.so中实现的,所以我想知道cpython解释器是如何调用.so文件的?我知道ctypes,但我找不到cpython中的“时间”模块在哪里使用它 简而言之,Python为C程序(The)提供了一个API,它允许用C代码定义/实例化Python对象,包括函数(请参阅)。有一个名为(及其变体)的方法,可以在C代码中实例化Python模块,并注册方法定义和设置

cpython的“time.py”中的函数几乎就是“pass”定义。我猜它的函数是在lib/python2.7/lib dynload/time.so中实现的,所以我想知道cpython解释器是如何调用.so文件的?我知道ctypes,但我找不到cpython中的“时间”模块在哪里使用它

简而言之,Python为C程序(The)提供了一个API,它允许用C代码定义/实例化Python对象,包括函数(请参阅)。有一个名为(及其变体)的方法,可以在C代码中实例化Python模块,并注册方法定义和设置/添加字段

就Python加载“time.so”的方式而言,它可能是使用C函数实现的,C函数允许在运行时动态打开库(或者在Windows上,使用等效函数)。使用这种方法,可以检索具有特定名称的函数(例如,Python可以强制实现Python模块的任何“.so”文件必须提供具有特殊签名的初始化函数),然后调用它,从而允许初始化函数注册各种定义