如果Python和C一样快,那么后者会出现在python应用程序/库中吗?
例如:如果Python像C一样快,那么PIL会完全用Python编写吗?
发布于 2010-02-21 04:56:41
来访问“遗留”的C库和操作系统工具。
发布于 2010-02-21 05:08:20
当然,您可以使用ctypes来访问现有的C代码,但在足够复杂的情况下,您可能不希望这样做:当您为为C设计(并用C实现)的接口编写代码时,不进行编译可能意味着调用者一方的小错误可能会导致整个应用程序崩溃,这些错误可能只是拒绝用C正确编译。
因此,为了重用好的现有C代码,使用C代码(而不是ctypes)可能很有意义(当然,Cython也很好,因为它生成的C代码在调用方出错的情况下应该无法编译;-)。
当然,从头开始重新编写所有代码,而不是重用好的、现有的、可靠的和调得很好的代码,这两种方式都没有多大意义--有太多有趣的新问题需要克服,花时间只是模仿旧和已经解决的问题的现有、刚刚好的解决方案可能不是最好、最有效率和最令人满意的时间消磨方式;-)。
发布于 2010-02-21 05:01:04
在Python中使用C模块实现以下目的是有意义的:
不会移植到Python中的
至于你的例子:是的,但Python天生就比C慢。如果两者的速度一样快,那么使用Python将是有意义的,因为C代码通常更容易受到攻击(缓冲区溢出等)。
https://stackoverflow.com/questions/2303683
复制相似问题