对编译-加载文件方面的困惑
我下到一个代码例程,它的工程(sms_main.dsp)打开目录显示是这样└sms_main files
├sms_delele.c
├sms_input.c
├sms_load.c
├sms_main.c
├sms_save.c
└sms_struct.h
而在我的认知中,C语言工程是这样的
└aaa files
├Source files
│└main.c
└Headers
└main.h
我的想法,
编译器从main.c开始读入,遇到#include <main.h> #include <stdio.h>或 #include "XXX.c"来载入外部文件
最后从主函数(main)开始调用(运行程序)
但看了我下的那个例程,就有点晕了...
1.编译器究竟从哪个先加载啊?而且居然用sms_main.c代替了main.c(我确认了文件目录没有main.c文件)
目录下所有 *.c文件开头都看到了#include "sms_struct.h"
还有在#include "sms_struct.h"写了#ifndef防止重复加载
2.难道我写100个*.c文件,100个都要加这句?不能想办法只写一次吗?
[此贴子已经被作者于2016-3-4 14:44编辑过]