如何将C语言的源代码拆分成多个文件?

4

我正在尝试阅读他人的代码,但大多数代码都被分成了不同的文件。我还没有学会如何这样做。那么如何将代码拆分成单独的文件呢?又如何为一个函数找到正确的源代码文件呢?

5个回答

3

你的函数可以在“.h”文件中声明(即函数返回类型、名称和参数类型),也称为“头文件”。

这些函数的定义(即你为函数编写的代码)应该在一个“.c”文件中。

该“.c”文件顶部应该有一个include指令。它看起来像这样:

#include "myHeaderFile.h"

现在,要在Linux/Mac/Windows+cygwin中查找函数的正确源代码,我只需要在命令提示符下使用grep:

grep functionName *.c

3
关键技术是使用“头文件”,也称为.h文件,来公开每个“源文件”,即.c文件的“应该从外部可见”的部分。要查找跨多个文件的源代码,请参见ctags,除非您使用的IDE提供了更好的方法!

1
关于ctags和cscope的快速说明。
如果你的代码在一个名为src/的目录中,你可以这样做。
#!/bin/sh
find src/ -name '*.c' >  cscope.files
find src/ -name '*.C' >> cscope.files
find src/ -name '*.h' >> cscope.files
find src/ -name '*.H' >> cscope.files
ctags -R -V --c-kinds=+p --fields=+S -L cscope.files 
cscope -b

现在你可以使用 ctags 和 vim 直接跳转到名为 main 的函数:
gvim -t main

关于这个问题,你可以在其他问题中找到一些好的答案,所以我不会深入探讨。

/ Johan


1

0
一个源文件应该包含一组(最好是密切相关的)函数。它应该为源文件外的函数提供一致的服务。
源文件应该有一个与之关联的头文件,声明源代码提供的服务。(例外情况:包含main()且不提供其他文件使用的函数的单个源文件不需要头文件。)
使用这些函数的其他文件包括头文件。定义函数的文件也包括头文件,以确保定义与声明相匹配。
通常,源文件最好先包含头文件;这样可以确保头文件可以“独立”使用。也就是说,如果其他源文件需要使用头文件的服务,它可以包含头文件,而不必担心应该先包含哪些其他头文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接