make run
是一个常见的命令行指令,通常用于编译并运行一个项目。make
是一个构建工具,用于自动化编译和构建过程,而 run
则是一个自定义的目标(target),用于执行特定的任务,比如运行程序。
make
工具,可以自动化编译、构建和运行过程,减少手动操作。make
可以自动检测文件依赖关系,确保只有在相关文件发生变化时才重新编译。Makefile
或 makefile
。run
、build
等。make
会根据依赖关系决定执行哪些命令。make run
常用于以下场景:
make run
假设你有一个 Makefile,其中定义了一个 run
目标,并且你想传递参数给这个目标。可以通过以下几种方式实现:
# Makefile
run:
./my_program $(ARGS)
ARGS ?= default_argument
然后在命令行中传递参数:
make run ARGS="your_argument"
如果不想在 Makefile 中定义变量,可以直接在命令行中传递参数:
make run ARG1=value1 ARG2=value2
然后在 Makefile 中使用这些参数:
# Makefile
run:
./my_program $(ARG1) $(ARG2)
假设有一个简单的 C 程序 my_program.c
:
// my_program.c
#include <stdio.h>
int main(int argc, char *argv[]) {
for (int i = 1; i < argc; i++) {
printf("Argument %d: %s\n", i, argv[i]);
}
return 0;
}
对应的 Makefile:
# Makefile
CC = gcc
CFLAGS = -Wall -Wextra
all: my_program
my_program: my_program.o
$(CC) $(CFLAGS) -o $@ $<
my_program.o: my_program.c
$(CC) $(CFLAGS) -c $<
run:
./my_program $(ARGS)
ARGS ?= default_argument
clean:
rm -f my_program my_program.o
在命令行中传递参数:
make run ARGS="arg1 arg2 arg3"
通过以上方式,你可以灵活地将参数传递给 make run
,并在项目中实现自动化构建和运行。
领取专属 10元无门槛券
手把手带您无忧上云