只需创建一个Makefile
,其中应包含您显示的命令
是否有比运行整个命令更有效的方式来编译C程序。
gcc -g -Wall file_name.c -o file_name.out
例如,以这种方式使用make命令:make argument.c
我希望make命令运行此命令gcc -g -Wall argument.c -o argument_no_extension.out
我曾尝试学习vim,但是要编译程序,我必须写下整个命令或必须使用箭头键再次运行它。但是vs代码task.json具有以下参数:
"gcc","-g", "${relativeFile}", "-o","${fileBasenameNoExtension}.out", "&&", "clear" , "&&" , "./${fileBasenameNoExtension}.out"
如评论中所述,您已经可以做
make file_name
并且它将使用默认的构建规则(因此您甚至不需要Makefile),如果有一个名为“ file_name.c”的C源文件,则构建一个名为“ file_name”的可执行文件。
如果确实需要可执行文件具有.out扩展名,则可以创建一个如下所示的Makefile:>
CFLAGS=-g -Wall %.out: %.c $(CC) $(CFLAGS) -o $@ $^
这定义了一个规则,对于以“ .out”结尾的任何内容,它将根据相应的“ .c”文件进行构建。因此,如果您键入
make file_name.out
如上所述,如果您有“ file_name.c”,它将建立“ file_name.out”
只需创建一个Makefile
,其中应包含您显示的命令
gcc -g -Wall file_name.c -o file_name.out
将此Makefile
放在源代码所在的目录中。然后打开命令行并将目录更改为此Makefile
所在的位置。
然后执行此命令
make
无需提供
make argument.c
您可以创建类似于以下内容的Makefile:
CFLAGS := -Wall -Wextra -Wconversion -pedantic -std=gnu11 -ggdb
%.out : %$(parm).c
cc $(CFLAGS) $^ -o $@
然后运行用于特定* .c文件的Makefile:
make -Dparm=<desired file name>
只需创建一个Makefile
,其中应包含您显示的命令
您可以创建类似于以下内容的Makefile: