例如我在python中有一个函数,我想转换为c ++(或从c ++调用,但我不想依赖python解释器) 简单的python函数
//test.py
def my_sum(x,y):
print "Hello World!"
return x*x+y
我跑了棚子并且有
//test.cpp
#include "builtin.hpp"
#include "test.hpp"
namespace __test__ {
str *__name__;
void __init() {
__name__ = new str("__main__");
}
} // module namespace
int main(int, char **) {
__shedskin__::__init();
__shedskin__::__start(__test__::__init);
}
//test.hpp
#ifndef __TEST_HPP
#define __TEST_HPP
using namespace __shedskin__;
namespace __test__ {
extern str *__name__;
} // module namespace
#endif
丑陋的代码并没有我的函数my_sum和代码依赖于“builtin.hpp”。是否可以仅转换功能?
或
我想从我的c ++代码中调用函数 int sum = py.my_sum(3,5); 我怎么能这样做?
或
也许我可以用我在c ++代码中使用的python代码做DLL或者lib?
答案 0 :(得分:1)
注意为这个程序提供的脱壳技术警告:
*WARNING* test.py:1: function my_sum not called!
在文档中还提到,为了使编译工作,应该直接或间接调用一个函数,否则不可能进行类型推理。如何确定my_sum的参数类型,如果甚至没有一个电话给它..? : - )
添加此项,例如:
if __name__ == '__main__':
my_sum(1,1)
使my_sum出现在生成的C ++代码中,可以从另一个C ++程序中调用它。