2024-05-14 23:34:44 发布
网友
我正在设计一个应用程序。核心应该用C编写,但是我还想使用一些已经完成的CPython模块(非托管的)。在
所以我对互操作性很感兴趣(从C调用CPython方法,从CPython调用C)。如果有问题,因为C在.NET运行时(托管)中运行,而CPython直接不受管理。在
我已经和谷歌调查过这个问题,并给出了以下解决方案:
你觉得怎样,哪种方式更好?或者你有别的办法吗?在
最后一个但可能是最重要的问题,我是否正确理解了上述几点,还是我搞砸了?在
非常感谢!!在
通过COM公开Python代码并从C调用它。在这条大街上(两条路)走了很多次。在
我想你误解了Python。这是一种解释语言。您只需提供文本源文件,解释器就会执行它们。在
Python语言和CPython、IronPython、Jython、pypyy等实现有区别。它们都试图尽可能准确地实现Python语言,同时还添加了特定于实现的功能。这就像C++编译器是如何用C++编写的。在
例如,任何(纯)Python文件都可以由IronPython解释器执行。但是如果您知道要使用IronPython,那么可以使用允许您进入.NET库的特殊IronPython特性。在
现在,大多数Python不使用任何特定于实现的功能,所以使用什么来运行它并不重要。不过,有些Python是这样的。在
1好吧,它被编译成.pyc文件。。。但无论如何,“编译”并不是一个定义明确的术语。在
这对你有什么关系?好吧,你有一堆Python源代码,你想在.netframework中使用。如果该代码不使用任何CPython特定的特性,比如使用C扩展模块,那么您可以在IronPython中运行它。在
通过COM公开Python代码并从C调用它。在这条大街上(两条路)走了很多次。在
我想你误解了Python。这是一种解释语言。您只需提供文本源文件,解释器就会执行它们。在
Python语言和CPython、IronPython、Jython、pypyy等实现有区别。它们都试图尽可能准确地实现Python语言,同时还添加了特定于实现的功能。这就像C++编译器是如何用C++编写的。在
例如,任何(纯)Python文件都可以由IronPython解释器执行。但是如果您知道要使用IronPython,那么可以使用允许您进入.NET库的特殊IronPython特性。在
现在,大多数Python不使用任何特定于实现的功能,所以使用什么来运行它并不重要。不过,有些Python是这样的。在
1好吧,它被编译成.pyc文件。。。但无论如何,“编译”并不是一个定义明确的术语。在
这对你有什么关系?好吧,你有一堆Python源代码,你想在.netframework中使用。如果该代码不使用任何CPython特定的特性,比如使用C扩展模块,那么您可以在IronPython中运行它。在
相关问题 更多 >
编程相关推荐