C语言程序如何调用python程序?
下面是一个例子:
首先是python的一个简单函数
class Hello:
def __init__(self, x):
self.a = x
def print(self, x=None):
print(x)
def xprint():
print("hello world")
if __name__ == "__main__":
xprint()
h = Hello(5)
h.print()1
下面是C语言
#include <python3.4m/Python.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
Py_Initialize();
// 将当前目录加入sys.path
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
// 导入hello.py模块
PyObject *pmodule = PyImport_ImportModule("hello");
// 获得函数xprint对象,并调用,输出“hello world\n”
PyObject *pfunc = PyObject_GetAttrString(pmodule, "xprint");
PyObject_CallFunction(pfunc, NULL);
// 获得类Hello并生成实例pinstance,并调用print成员函数,输出“5 6\n”
PyObject *pclass = PyObject_GetAttrString(pmodule, "Hello");
PyObject *arg = Py_BuildValue("(i)", 5);
PyObject *pinstance = PyObject_Call(pclass, arg, NULL);
PyObject_CallMethod(pinstance, "print", "i", 6);
Py_Finalize();
return 0;
}
编译命令如下:
gcc pyapi.c -lpython3.4m -o pyapi
c语言中怎样调用外部文件?
在C语言中,可以使用以下步骤调用外部文件:
在C程序中使用#include指令引入外部文件,例如:
#include "filename.h"
其中,filename.h是外部文件的名称,需要与文件名相同。
在C程序中使用包含文件中定义的函数或变量,例如:
int add(int x, int y) { return x + y; } int main() { int a = add(3, 4); return 0; }
其中,add函数是外部文件中定义的函数,main函数中使用了该函数。
在C程序中使用外部文件中定义的全局变量,例如:
#include "filename.h" int global_variable = 0; int main() { global_variable++; return 0; }
其中,global_variable是外部文件中定义的全局变量,main函数中使用了该变量。

