Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个代码中有多个小程序::blocks项目_C_Codeblocks - Fatal编程技术网

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

一个代码中有多个小程序::blocks项目,c,codeblocks,C,Codeblocks,我不熟悉代码::块。为了学习,我正在用C语言编写几个小程序(只是为了尝试一下)。 我试着把它们放在一个项目中,因为它们属于同一个主题,但这不起作用,因为它们每个都有一个主要功能 你知道我怎样才能把这些文件放在一起,而不是相互依赖吗?AC程序应该只包含一个主功能。。将所有单独的程序划分为函数并将它们放在一个C程序中,或者甚至可以将其放在多个文件中并编译它们 您可以使用开关盒来调用不同的函数 从所有程序中删除主功能,并将其转换为功能 有需要的地方就打电话给他们。。这将帮助您..在我看来,您似乎正在开

我不熟悉代码::块。为了学习,我正在用C语言编写几个小程序(只是为了尝试一下)。 我试着把它们放在一个项目中,因为它们属于同一个主题,但这不起作用,因为它们每个都有一个主要功能


你知道我怎样才能把这些文件放在一起,而不是相互依赖吗?

AC程序应该只包含一个主功能。。将所有单独的程序划分为函数并将它们放在一个C程序中,或者甚至可以将其放在多个文件中并编译它们

您可以使用开关盒来调用不同的函数

从所有程序中删除
主功能
,并将其转换为
功能


有需要的地方就打电话给他们。。这将帮助您..

在我看来,您似乎正在开始构建一些不错的实用功能。因此,遵循raghu srikanth reddyce提供的建议,为每个小程序创建单独的函数。不过,我想补充一点,最好自己创建一个简单的C库,将它们保存在其中,您可以随时链接到其中。大多数专业程序员都保留这样的库

一个简单的makefile将使您能够构建一个最终的二进制文件,您可以链接到它


祝您编程顺利;)

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

  • 方案1.c
  • 程序2.c
  • 方案3.c
因此,您可以编写一个Makefile(它在您的计算机中的名称应该是“Makfile”)。它将分别构建您想要的程序

以下是生成文件的外观:

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
使用上面的Makefile,您可以单独构建每个程序

范例

$ make program1
将只生成程序1

或者你可以用

$make all

假设调用了源文件

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

现在右键单击prog1.c并从上下文菜单中选择“属性…”。在对话框中选择“构建”选项卡,并确保在“属于目标”下仅选中“prog1”。对prog2.c和目标“prog2”执行相同的操作。对于“mylib.c”,请确保选中了“prog1”和“prog2”


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

如果要在一个文件中编译,则不需要项目文件。
只需创建一个新文件,然后将所有代码写入一个文件。如果您需要,也可以使用函数和过程。

这已经很晚了,但因为我曾经在这里问过同样的问题,我相信大多数学生已经/已经/将要问同样的问题,让我详细说明您在哪里玩过

在教育课程和现实世界中,一个项目(通常)就是你们要解决的问题,找到一个解决方案,然后做一个报告(+文档)

在IDE编程中,项目本身就是问题的解决方案。因此,尽管在任何Python IDE中的一个项目中可能存在多个单独的问题,但任何标准C/C++IDE项目都必须只有一个“main()”来管理所有问题(除非您知道如何创建makefiles)


AP试图做的是将几个不同问题的解决方案放在一个解决方案的空间中,而不是在代码::块中。即使所有的问题都有相同的主题(比如图论),它们本身也是一个单独的问题(Dijkstra vs Floyd)。

我知道C程序应该只包含一个主函数。我不想将它们放入函数中,因为这些小程序是独立的,不属于同一个文件,所以从一个文件调用所有这些程序对我来说没有意义。不,这对我没有帮助,因为我必须稍后提交这些文件,然后它们必须是独立的。我只想编译并运行我正在处理的文件,而不是所有的文件。如果不可能这样做,我将改回我的旧编辑器。你可以创建自己的make filesorry,我是C新手,你的意思是什么,以及如何做到这一点?不,我只是在做教授给出的任务。我只想编译一个文件,独立于其他文件。那么我在哪里输入
$make program1
?命令行?通常我是用F9构建和运行的。@mvuajua我有点困惑,为什么你会接受这个答案,因为它实际上并没有回答你关于代码::块的问题。@neuronet已经五年了,但我认为这就是我当时的想法,其他答案后来也出现了