我用C语言编写了以下代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int i;
double x;
double pi;
pi = M_PI;
double increment;
FILE * fp;
fp = fopen ("FILE","w");
x = 0;
increment = 4* pi / 500;
for (i = 0; i<=500; i++)
{
x = i * increment;
printf("i: %d, tan(x): %f\n", i, tanf(x));
fprintf (fp, "%d, %f\n",i, tanf(x));
}
fclose (fp);
exit(0);
}
和以下Python代码:
import matplotlib.pyplot as plt
import os
f = open("FILE", "r")
lines=f.readlines()
first =[]
second=[]
for x in lines:
first.append(int(x.split(', ')[0]))
second.append(float(x.split(', ')[1]))
f.close()
plt.plot(first, second)
plt.show()
os.remove("FILE")
C代码生成保存在文本文件中的数据。python代码读取该文本文件并绘制一张图。绘制绘图后,python会删除数据文件。
我需要创建一个bash文件来执行这两段代码,就像胶水一样。我已经读过关于bash的教程,但我仍然不清楚如何编译和执行C以及运行python。
问:如何在linux中创建同时运行这两部分代码的bash文件?
发布于 2020-10-19 21:34:05
一旦你的C程序被编译成可执行文件(二进制),这就非常简单了。让我们假设您的C程序生成可执行的table
,并且您的python脚本名为plot.py
#!/bin/bash
./table && python plot.py
这将按顺序运行这两个程序。&&
意味着只有当第一个程序成功完成时,第二个程序才会运行(退出代码== 0)。
PS:如果你仍然需要编译你的C代码,使用gcc filename.c -lm
。-lm
将确保定义tanf
的数学库是链接的。
https://stackoverflow.com/questions/64435293
复制相似问题