一个代码中的多个小程序:: blocks项目

Lau*_*ura 4 c codeblocks

我是Code :: Blocks的新手.对于我的学习,我正在用C语言编写几个小程序(只是为了尝试一下).我试图将它们全部放在一个项目中,因为它们属于同一个主题,但这不起作用,因为每个项目都有一个主要功能.

有什么想法我怎么能把这些文件放在一起,但不依赖于彼此?

Elm*_*der 8

假设您的源文件被调用

  • prog1.c的
  • prog2.c
  • mylib.c
  • mylib.h

其中prog1.c和prog2.c各包含一个main()函数,mylib.c(带有相应的头文件mylib.h)包含一些应该链接到每个程序的库函数.在Code :: Blocks项目中,您需要立即创建多个目标.从菜单中选择"文件/新建/构建目标..."并将其命名为"prog1"和"prog2".现在将所有源文件添加到项目中(如果您还没有这样做).

现在右键单击prog1.c并从上下文菜单中选择"Properties ...".在对话框中选择"构建"选项卡,并确保在"属于目标"下仅选中"prog1".使用prog2.c和目标"prog2"执行相同操作.对于"mylib.c",确保选中"prog1"和"prog2".

现在,您可以轻松地在UI中选择构建和运行的构建目标.请注意,如果添加另一个目标,例如"prog3",则必须再次转到prog1.c和prog2.c的构建属性并取消选中"prog3".


MOH*_*MED 1

假设您的项目包含 3 个 c 文件,每个 c 文件都是一个单独的程序,并且包含自己的main函数:

  • 程序1.c
  • 程序2.c
  • 程序3.c

这样你就可以编写一个Makefile(它在你电脑中的名称应该是“Makfile”)。它将单独构建你想要的程序

这是你的 makefile 的样子:

all: program1 program2 program3

%.o: %.c
    $(CC) $(CFLAGS) -c -o $@ $^

program1: program1.o
    $(CC) $(LDFLAGS) -o $@ $^

program2: program2.o
    $(CC) $(LDFLAGS) -o $@ $^

program3: program3.o
    $(CC) $(LDFLAGS) -o $@ $^

clean:
    rm -f *.o program1 program2 program3
Run Code Online (Sandbox Code Playgroud)

使用上面的 Makefile,您可以单独构建每个程序

例子

$ make program1
Run Code Online (Sandbox Code Playgroud)

将仅构建程序1

或者你可以用以下命令构建所有程序

$make all
Run Code Online (Sandbox Code Playgroud)

  • 那么我在哪里输入 `$make program1` 呢?命令行?通常我使用 F9 进行构建和运行。 (2认同)