我有一些功能或定义我在C程序和Python程序中使用但是我已经在两个文件中单独定义它们。有一个单独的.h文件可以用于C和Python程序,以避免在两个地方进行更改。
u16 get_opt(int arg) {
u16 mode;
if(arg == 1) {
mode = 0xabc1;
} else if (arg == 2) {
mode = 0xf104;
} else if(arg == 3) {
mode = 0xff16;
}
return mode;
}
在python中我也有
MAPPING = {
1: 0xabc1,
2: 0xf104,
3: 0xff16
}
def get_opt(arg) {
return MAPPING[arg]
}
我有很多常量值来定义我需要从C程序和Python程序访问哪些,所以我想知道是否有一种很好的方法来实现它。
答案 0 :(得分:3)
如果进行大量的跨语言编程,最简单的可能是SWIG(请参阅此处的教程:http://www.swig.org/tutorial.html)。
基本上,您以中间格式指定界面,然后运行swig工具以生成所需的语言特定文件。