| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1004 人关注过本帖
标题:帮忙看看我这个用C语言写的程序哪些不足?
只看楼主 加入收藏
午夜小学徒
Rank: 2
等 级:论坛游民
威 望:3
帖 子:52
专家分:40
注 册:2014-7-17
收藏
得分:0 
回复 9 楼 TonyDeng
恩,知道了
2014-09-11 20:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用午夜小学徒在2014-9-11 20:15:56的发言:

这个编译头#include "stdafx.h"是VS自带的,以前没有注意,就感觉理所当然的用了,也没想过去把它去掉之类的

写了也没坏,它其实是一个空文件,里面没有内容的。

授人以渔,不授人以鱼。
2014-09-11 20:17
午夜小学徒
Rank: 2
等 级:论坛游民
威 望:3
帖 子:52
专家分:40
注 册:2014-7-17
收藏
得分:0 
以下是引用TonyDeng在2014-9-11 20:17:59的发言:


写了也没坏,它其实是一个空文件,里面没有内容的。


是不是把写程序用到的头文件写到  stdafx.h 里面?
2014-09-11 20:23
午夜小学徒
Rank: 2
等 级:论坛游民
威 望:3
帖 子:52
专家分:40
注 册:2014-7-17
收藏
得分:0 
#include "stdlib.h"
#include "time.h"
#include "conio.h" 这三个头文件(以后程序用到的头文件)应该写到哪里啊?
2014-09-11 20:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用午夜小学徒在2014-9-11 20:25:17的发言:

#include "stdlib.h"
#include "time.h"
#include "conio.h" 这三个头文件(以后程序用到的头文件)应该写到哪里啊?


如果你用“预编译头”选项,就可以把这三个包含语句写到stdafx.h中,然后每个.cpp仅包含stdafx.h即可(这就是自动生成的模板都有这一行的原因)。你要明白,每个.cpp的#include指令,是把那些.h的代码全部塞进这个.cpp中再进行编译,也就是说,你写一行#include <stdio.h>,就等于把stdio.h文件中的数百行代码都放进来了,然后又不知道stdio.h里面又包含了什么.h,一串一串地……编译器编译,是傻瓜式的,你若有3个.cpp(一个实际的项目程序,一百几十个.cpp是常事),每个都包含了stdio.h,那么就塞入3份stdio.h代码,编译3次。预编译头选项,就仅编译一次,以后再不编译了。当然,有人说这是MS编译器的扩展,其他编译器未必如此,也不是什么标准,看你进入哪个生态环境而已,熟悉了以后未必能适应不支持的环境,这要自己衡量取舍。

顺便补充一下:对静态编译型语言来说,即使包含了用不到的.h,也是没有坏处的,因为编译器可以把没用到的代码剔除,不会链接到最终可执行文件中。


[ 本帖最后由 TonyDeng 于 2014-9-11 20:41 编辑 ]

授人以渔,不授人以鱼。
2014-09-11 20:34
午夜小学徒
Rank: 2
等 级:论坛游民
威 望:3
帖 子:52
专家分:40
注 册:2014-7-17
收藏
得分:0 
以下是引用TonyDeng在2014-9-11 20:34:03的发言:



如果你用“预编译头”选项,就可以把这三个包含语句写到stdafx.h中,然后每个.cpp仅包含stdafx.h即可(这就是自动生成的模板都有这一行的原因)。你要明白,每个.cpp的#include指令,是把那些.h的代码全部塞进这个.cpp中再进行编译,也就是说,你写一行#include <stdio.h>,就等于把stdio.h文件中的数百行代码都放进来了,然后又不知道stdio.h里面又包含了什么.h,一串一串地……编译器编译,是傻瓜式的,你若有3个.cpp(一个实际的项目程序,一百几十个.cpp是常事),每个都包含了stdio.h,那么就塞入3份stdio.h代码,编译3次。预编译头选项,就仅编译一次,以后再不编译了。当然,有人说这是MS编译器的扩展,其他编译器未必如此,也不是什么标准,看你进入哪个生态环境而已,熟悉了以后未必能适应不支持的环境,这要自己衡量取舍。

顺便补充一下:对静态编译型语言来说,即使包含了用不到的.h,也是没有坏处的,因为编译器可以把没用到的代码剔除,不会链接到最终可执行文件中。

以前辉哥(教我cocos的老师,亦师亦友)教我,把引用的.h写到.cpp中去,以免混乱
2014-09-11 20:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那是各人喜欢的,实际上内里的操作一样。

授人以渔,不授人以鱼。
2014-09-11 22:00
快速回复:帮忙看看我这个用C语言写的程序哪些不足?
数据加载中...
 
   



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

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