c - 为使用 makefile 执行 ac 代码提供 scanf 输入字符串
问题描述
我正在尝试编写我的第一个 makefile 来完全自动化我的代码执行。我有一个必须执行多次的 c 代码(BootstrapCL.c);对于每次执行,我应该输入(我在 c 代码中有 2 个 scanf)一个文件名(带和不带扩展名)。我必须对文件夹内的所有文件(比如一组 cvs 文件)重复此操作。
这是我的makefile
SRCS := $(wildcard *.csv)
BINS := $(SRCS:%.csv=%)
all: ${BINS}
%: BootstrapCL.c
gcc -Wall BootstrapCL.c -lm -o BootstrapCL
./BootstrapCL
$@.csv
$@
问题是当makefile到达该行时:
./BootstrapCL
shell等待输入,因此我无法到达下一行以通过makefile本身提供此输入。我怎样才能解决这个问题并获得一个自动化的过程?
解决方案
管道输入到程序。
%: BootstrapCL.c
gcc -Wall BootstrapCL.c -lm -o BootstrapCL
(echo $@.csv ; echo $@) | ./BootstrapCL
推荐阅读
- c# - Rotativa 在 Azure 中的服务结构节点上崩溃
- python - Django如何创建会话变量以将信息从一个网页传递到另一个网页
- reactjs - 理解 React js 代码
- oracle - ora_database_name 和 sys_context('userenv','service_name') 有什么区别
- c# - SqlConnection.OpenAsync 无法识别
- c# - Razor 类库中的图像
- wicket - Wicket:对一个巨大的结果查询进行分页
- java - 如何将 .jar 文件添加到 IntelliJ IDEA Java 项目中?
- c++ - Directx11 加载纹理
- javascript - 谷歌脚本应用编码返回 html 输出