使用Python和Linux的通用头文件C

时间:2015-04-22 03:44:49

标签: python c

我有一些功能或定义我在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程序访问哪些,所以我想知道是否有一种很好的方法来实现它。

1 个答案:

答案 0 :(得分:3)

如果进行大量的跨语言编程,最简单的可能是SWIG(请参阅此处的教程:http://www.swig.org/tutorial.html)。

基本上,您以中间格式指定界面,然后运行swig工具以生成所需的语言特定文件。