| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1965 人关注过本帖
标题:总结一些思考的问题!!!大家一起讨论!
取消只看楼主 加入收藏
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
 问题点数:0 回复次数:6 
总结一些思考的问题!!!大家一起讨论!
感谢大家对于在下的LinkError一帖的积极讨论和指教,论坛的氛围很积极,我也将一些问题的总结与大家分享讨论,还望牛人积极参与意见。谢谢

很多编写代码的初学者都是从单线程,单文件开始的。比如在一个文件中声明子函数,主函数,结构体等等,大家都调试过。

之后开始写多个文件链接,实现自己的库和函数包。这时问题就来了,以前老谭的书上似乎没有说过啊?于是就到处看一些别人的代码,借鉴,模仿,学习,最终自己掌握。

我周围的人都是如此,不知其他高手牛X有没有更好的方法,如果有大家一起来说说。

过去,我也认为我掌握了。因为以前用TC和VC等等,都可行。直到最近,换了个电脑,换了个编译平台,问题出现了。如我在LinkError一问中说描述的,编译通过,可是文件链接有问题。以前没有遇到过,现在还真是有些措手不及。

后来下载了一个TC30,跑一遍,仍然是编译通过,运行时出现LinkError:Undefined symbol _show
show()是我在其他文件show.c中写的一个函数,在show.h中有声明,void show(void);而且在同一个目录下面,究竟问题出在哪里呢?

如果是编译器设置的问题,对于编译器,包含文件编译时,有些什么需要的设置没有。我现在是按照默认的设置。C的库目录、Include目录等目录设置全都检查过了。可是编译通过,运行链接有问题这其中到底会是哪些地方没顾忌到呢?

如果是语法的问题,文件包含的标准过程和声明规范是什么样的呢?

请大家说说谢谢。

现在我就先说说我的包含过程吧。
1、将void show(void) 函数写入文件show.c保存
2、建立show.h。声明 void show(void);
3、在main.c中,用预编译命令#include "show.h"将show.h包含进去
4、编译通过
5、运行

就是这么一个流程,可是在第5步出现了问题总是出现Undefined Symbol _show

望大家积极讨论,不吝赐教!谢谢。
搜索更多相关主题的帖子: 思考 
2008-07-03 09:43
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
已经如ioriliao兄做了修改,
#include <stdio.h>
#include "show.h"

void main()
{
 show();
}

用Broland C++编译无错,运行时出现
Undefined Symbol _show in module MAIN.c
看来问题还是存在。还需要探讨和思考!
2008-07-03 10:08
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
另外
#ifndef SHOW_H
#define SHOW_H
中,SHOW_H从没有用过,这两个宏定义起什么作用呢?
2008-07-03 10:13
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
感谢您热情的回复。
2008-07-03 10:33
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
不胜感激,
不过由于是关于硬件代码的编程,可能还有所不同,至于
#ifndef SHOW_H
#define SHOW_H
是不是指如果没有定义Show.h就告诉编译系统需要show.h文件?
是不是呢?
2008-07-04 10:21
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
讨论的氛围实在是很热闹啊!呵呵。
其实编程当中有许多细节,平时都不注意,在一些专业的公司里却十分看重这个的。
至于写makefile,实在是不太常见,似乎周围的人甚至还有不知道这个的。即使知道也仅仅是个名词,具体的规范和操作都没有实践过。
2008-07-05 13:09
boshido
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-3-7
收藏
得分:0 
不错的讨论!
2008-07-09 13:18
快速回复:总结一些思考的问题!!!大家一起讨论!
数据加载中...
 
   



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

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