| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1527 人关注过本帖
标题:对编译-加载文件方面的困惑
取消只看楼主 加入收藏
_ZDX_
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
对编译-加载文件方面的困惑
我下到一个代码例程,它的工程(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编辑过]

搜索更多相关主题的帖子: C语言 编译器 files include 运行程序 
2016-03-04 14:43
_ZDX_
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-4
收藏
得分:0 
回复 3楼 TonyDeng
就算不重要,终究有个判断次序的方法,我想知道那个。
如果不知道次序 extern在我心中就很诡异
2016-03-05 08:12
_ZDX_
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-4
收藏
得分:0 
回复 8楼 TonyDeng
原本只知道动态语言和静态语言,原来还有编译型语言和解释型语言一说。
我感觉加载文件方面解决了。

我还有个问题关于extern这个关键字,我感觉学不懂extern

假如有1.c 2.c 3.c 4.c 5.c五个文件
有一个int型a; 我想让 1.c和 2.c通用一个a,3.c 4.c 5.c通用另一个a可以写出来么?怎么写。



2016-03-06 10:09
快速回复:对编译-加载文件方面的困惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015191 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved