- //a.c文件
- void test_a()
- {
- return;
- }
- //b.c文件
- void test_a(); // 函数声明
- void test_b()
- {
- test_a(); // 由于上面已经声明了,所以可以使用
- }
- //a.c文件
- void test_a()
- {
- return;
- }
- //a.h文件
- void test_a();
- //b.c文件
- #include "a.h" // 包含含有 test_a() 函数声明的头文件
- void test_b()
- {
- test_a();
- }
- //b.c 预编译后的临时文件
- void test_a();
- void test_b()
- {
- test_a();
- }
- //a.c文件
- void test()
- {
- return;
- }
- //b.c文件
- void test()
- {
- return;
- }
- //a.h文件
- void test_a()
- {
- return;
- }
- //b.c文件
- #include "a.h"
- void test_b()
- {
- test_a();
- }
- //b.c 预编译后的临时文件
- void test_a()
- {
- return;
- }
- void test_b()
- {
- test_a();
- }
- //c.c文件
- #include "a.h"
- void test_c()
- {
- test_a();
- }
- // c.c 预编译后的临时文件
- void test_a()
- {
- return;
- }
- void test_c()
- {
- test_a();
- }
- //a.c文件
- static void test()
- {
- return;
- }
- void test_a()
- {
- test();
- }
- //b.c文件
- static void test()
- {
- return;
- }
- void test_b()
- {
- test();
- }
- //a.h文件
- static void test()
- {
- return;
- }
- //b.c文件
- #include "a.h"
- void test_b()
- {
- test();
- }
- //c.c文件
- #include "a.h"
- void test_c()
- {
- test();
- }
- #ifndef XXX
- #define XXX
- ……
- #endif
- //a.h文件
- static void test_a()
- {
- return;
- }
- //b.c文件
- #include "a.h"
- void test_b()
- {
- test_a();
- }
- //c.c
- #include "a.h"
- void test_c()
- {
- test_a();
- }
- //a.h文件
- static void test_a()
- {
- return;
- }
- //b.h文件
- #include "a.h"
- //c.h文件
- #include "a.h"
- //main.c文件
- #include "b.h"
- #include "c.h"
- void main()
- {
- test_a();
- }
- //main.c 预编译之后的临时文件
- static void test_a()
- {
- return;
- }
- static void test_a()
- {
- return;
- }
- void main()
- {
- test_a();
- }
- //a.h 文件
- #ifndef A_H
- #define A_H
- static void test_a()
- {
- return;
- }
- #endif
- //main.c 预编译后的临时文件
- #ifndef A_H
- #define A_H
- static void test_a()
- {
- return;
- }
- #endif
- #ifndef A_H
- #define A_H
- static void test_a()
- {
- return;
- }
- #endif
- void main()
- {
- test_a();
- }