我正在学习C编程语言。为了清楚地了解用C编写的大型项目。我在Github上浏览了几个Trending C项目。这是项目用C写的:这里。我不明白的一件事是为什么项目目录中有这么多文件夹:bin,conf,contrib,docs,images,m4,man,notes等。我唯一了解的文件夹是src文件夹,其中包含所有头文件和c文件。但是,仍然存在与源文件夹有关的另一个疑问。每个头文件都有一个同名的C文件。我可以编译主文件,但是main.c文件如何链接到其他C文件。我猜其他C文件具有所有功能定义,主文件正在调用它们。main.c调用了具有所有功能原型的头文件。现在,我对这些大型项目管理感到困惑。请帮助我理解。另外在哪里可以读到它,这样我就可以学到这些东西。
我实际上要问的是:如果我有5个文件
main.c,header.h,function1.c,function2.c,fuction3.c。我如何使用在这3个function1,2,3.c文件中编写的3个函数。
我想学习如何构建一个大项目,以及如何在不同的文件中进行管理以及如何在GIT上排列文件。即使我创建一个项目,我也会在同一.c文件中写入1000行,这完全是一团糟。我想学习如何管理项目的清晰度和安排。在哪里学习所有这些?
我不明白的一件事是为什么项目目录中有这么多文件夹:bin,conf,contrib,docs,images,m4,man,notes等。
因为一个软件不仅包含源代码。需要很多补充材料:
/man
和中docs
);conf
和/或m4
文件夹中的事实上的标准Unix配置工具“ autoconf”,“ automake”,“ M4”和“ make” );/images
),则GUI使用的资源;我可以编译主文件,但是main.c文件如何链接到其他C文件
使用一种称为链接器的软件。许多编译器(包括流行的GCC和Clang工具链)默认情况下调用系统链接器(除非您告诉他们它们仅应编译而不是链接),这反过来会解析源文件之间的引用并创建最终的可执行文件。在此处阅读有关C编译过程的更多信息。
我想学习如何构建一个大项目,以及如何在不同的文件中进行管理以及如何在GIT上排列文件。在哪里学习所有这些?
不幸的是,没有一个地方可以收集所有的智慧。您将需要大量使用Google,并阅读有关构建make
系统(如Git等)和版本控制系统(如Git等)的文档,手册和教程。
但是,我为您找到了一个相关的堆栈溢出问题,应该可以帮助您入门:如何将C程序拆分为多个文件?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句