PGEva 2017-06-11 10:09 采纳率: 50%
浏览 2441
已结题

使用C语言调用python

C语言代码
#include
#include"Python.h" //这里要包含头文件

//C/C++中执行python文件
void exec_python_file()
{
//初始化
Py_Initialize();

//choose1,执行单纯的内嵌字符串python代码,建议使用
if(!PyRun_SimpleString("execfile('draw1.py')"))
    printf("execute python file program failed\n");

//choose2,执行python文件,不建议使用
char fileStr[]="draw1.py";
FILE *fp;
if(!(fp=fopen(fileStr,"r")))
    printf("open python file failed!\n");

if(!PyRun_SimpleFile(fp,fileStr))
    printf("execute python file failed!\n");

fclose(fp);

//释放资源
Py_Finalize();

}

int main()
{
exec_python_file();
return 0;
}

 python 代码

#! /usr/bin/python python2.7
# -*- coding:utf-8 -*-

import numpy as np
import pylab as p1


x1 = [-25,-24,-23,-22,-21,-20,-19,-18,-17,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
y1 = [20,25,38,51,103,101,95,90,102,101,235,200,181,110,132,192,381,311,273,145,404,1023,1186,1835,1875,1881,1870,1820,1190,1010,390,150,210,309,379,188,120,108,170,140,230,180,104,94,97,40,38,27,25,22,20]

p1.plot(x1,y1,'r')

p1.title('Diffraction intensity distribution')
p1.xlabel('coord/cm')
p1.ylabel('light intensity/mA')

p1.xlim(-25.0,25.0)
p1.ylim(0.0,1900.0)

p1.show()

想实现用C语言调用python
编译时报错:
gcc test.c -o test -l/usr/include/python2.7/ -lpyhton2.7



求解决

  • 写回答

1条回答 默认 最新

  • PGEva 2017-06-11 10:10
    关注

    错误是ld: library not found for -l/usr/include/python2.7/
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构