Python-JIT编译器,用于C++;

Python-JIT编译器,用于C++;,python,c++,jit,Python,C++,Jit,目前,我正在使用distutils进行构建,使用ctypes进行接口,但我偶然发现了这一点,这似乎非常好 import ROOT cppFunctionCode = ''' void f() { std::cout << "Hi jitted C. world!" « std::endl; }''' ROOT.gInterpreter.Declare(cppFunctionCode) ROOT.f() # Hello! 导入根目录 cppFunctionCode=''

目前,我正在使用distutils进行构建,使用ctypes进行接口,但我偶然发现了这一点,这似乎非常好

import ROOT 

cppFunctionCode = '''
void f() {
std::cout << "Hi jitted C. world!" « std::endl; 
}'''

ROOT.gInterpreter.Declare(cppFunctionCode) 
ROOT.f() # Hello! 
导入根目录
cppFunctionCode=''
void f(){

STD::不是你所要找的,但是有很多的Python代码的JIT编译器,它们都是在C++的速度下执行的,比如Hopyand NuMBA;还有PythRANN,它把代码导出到编译的C++代码:而且优化得更少,但是更便携的是NuITKA:但是,所有的编译器都是纯Python代码编译成C++。你可以通过Booost:Python.Thanks尝试输出类。我不记得这是否可以用BoostPython来完成。我的意思是没有接口文件。它可以,但是你必须从C++输出类到Python,这意味着你必须编写C++模块,编译它们,然后输出它们(而不是立即)。.好消息是,这避免了“多出一个模块”但是坏消息是,没有JIT编译器。如果C++不是你的最终目标,你宁愿写纯C++的优化的Python代码,NUMBA特别令人惊讶。这里有一个精彩的博客,你可以在没有实际编写C++的情况下使用JIT获得C++速度:但是就核心问题而言,我为什么要评论:我没有直接的答案,我确实这么做了。不幸的是,除了PyRoot,我们不知道任何Python的C++编译器,但我知道很多,可能是合适的选择。(我个人使用NUBA来实现我的所有代码)我一定会在将来给NUBA试用,它看起来很强大,但是对于这个项目我需要一些C++库,非常具体。我有一个脏代码,它用C++字符串,用ditudil构建它,并用cType加载二进制文件,但是它有很多硬编码的东西,但是它工作。