CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

为什么文章上说在.h 文件里定义函数可以节省内存????

楼主gtkknd(gt)2004-09-03 06:32:09 在 C/C++ / C++ 语言 提问

为什么文章上说在.h   文件里定义函数可以节省内存???? 问题点数:20、回复次数:32Top

1 楼Andy84920(你也不懂)回复于 2004-09-03 06:58:13 得分 1

节省内存?哪本书哪一页说的?  
  恐怕还会链接出问题吧...Top

2 楼liuleilover(Vietor)回复于 2004-09-03 08:00:58 得分 1

你所说的“.h   文件里定义函数”只能是内联函数,可对于内联函数的定义来说,为了提高执行速度,是以增加内存为代价的。Top

3 楼yjh1982(血精灵)回复于 2004-09-03 08:47:44 得分 0

么烂文章?Top

4 楼runall(龙行天下)回复于 2004-09-03 10:36:24 得分 0

没听说过Top

5 楼oCplus(C++)回复于 2004-09-03 10:56:23 得分 1

.h文件的意义在于把一些预定义的东西放在其中,把核心部分放在.cpp里  
  增加可读性  
  所以并不会节省内存Top

6 楼freshairfly(无知的虾米)回复于 2004-09-03 13:54:55 得分 1

你可能看错了吧Top

7 楼jkdfan()回复于 2004-09-03 18:57:03 得分 0

楼主肯定理解错误。Top

8 楼Atomictry(天影)回复于 2004-09-03 19:04:40 得分 0

看错了吧,内联倒是相反的。Top

9 楼SeeMin(于艇)回复于 2004-09-03 19:04:46 得分 0

真晕阿,写个程序格式就能省内存?Top

10 楼wwwooowww(熔点)回复于 2004-09-03 19:08:05 得分 0

我觉得是提高运行效率吧。因为一般再头文件中定义函数,要用inline关键字,即内联函数。编译器处理内联函数时:函数在调用时,就不用压栈,而是用函数体中的代码来代替函数调用。   从而提高了效率。节省内存倒是没有听说过。不知时那家之言。Top

11 楼gtkknd(gt)回复于 2004-09-03 19:23:48 得分 0

是西安周公的"嵌入式实时   OS   Small   Rtos51   原理及应用"   书中的!!!!!Top

12 楼FreeFice(庄鱼)回复于 2004-09-03 22:58:24 得分 1

我认为作者的意思是在.h文件里声明函数、公共变量可以节省内存,而不是定义函数。Top

13 楼eastsun()回复于 2004-09-03 23:12:14 得分 1

 
  把作者拉出去毙了好了。  
   
  真是误人子弟。  
   
   
  Top

14 楼gtkknd(gt)回复于 2004-09-04 06:11:53 得分 0

我认为作者的意思是在.h文件里声明函数、公共变量可以节省内存,而不是定义函数。  
  ----------------------------------------------------------------------  
  可能是这个意思.但为什么嫩?Top

15 楼sinhence(因为所以)回复于 2004-09-04 07:08:25 得分 0

不要断章取义哟!  
  请把作者完整的话说出来。Top

16 楼liyufeng1983(小蜗牛)回复于 2004-09-04 09:18:41 得分 1

是啊!楼主把作者完整的原话说出来!让大家看看到底是怎么一回事情。Top

17 楼abcdefu520(东风拖垃圾大队队长)回复于 2004-09-04 11:51:24 得分 1

不是还有一个不用.h  
  可以用 using   namesc..     std(不知道写对了没有)  
   
  <<The   object   of   programmer>>   这本书提到,用   using   name....   std   来替代 .h  
   
  不知道是不是真的能节省内存呀,请大吓们谈谈呀。Top

18 楼purple_monday()回复于 2004-09-04 12:55:17 得分 1

楼主说详细点Top

19 楼Tycool(Xuco)回复于 2004-09-04 13:07:16 得分 0

关注阿Top

20 楼dafan(大帆)回复于 2004-09-04 14:15:23 得分 1

^_^,告诉你吧:using   namespace   std;Top

21 楼muymuy(muy)回复于 2004-09-04 16:34:19 得分 1

 
  节省内存到没有听说过。  
   
  节省磁盘空间倒是可以的。  
  Top

22 楼liushu01(天涯若比邻)回复于 2004-09-04 17:49:41 得分 0

不可能吧,这样的事也有吗?Top

23 楼liushu01(天涯若比邻)回复于 2004-09-04 17:50:04 得分 0

什么宝典?Top

24 楼doulikeme(来去无踪)回复于 2004-09-04 17:52:53 得分 0

节省内存????没听说过。Top

25 楼haha52(执子之手,敛其半世癫狂;吻子之眸,遮其半世流离)回复于 2004-09-04 18:01:31 得分 0

UPTop

26 楼christanxw()回复于 2004-09-04 21:59:05 得分 0

ft!Top

27 楼LifeAndC(蓝色忧郁)回复于 2004-09-04 22:36:42 得分 1

不能理解,有人这么说?Top

28 楼CNXQS(天堂神曲(什么都不会,真无奈))回复于 2004-09-05 11:08:50 得分 1

没听过这个说法Top

29 楼nicewinds(伯伯)回复于 2004-09-05 11:55:00 得分 1

内联应该效率高,但是费内存吧。作者是谁,我以后也好防着点Top

30 楼gtkknd(gt)回复于 2004-09-05 19:53:04 得分 0

文章原话:  
        Small   ROTOS51   使用静态方法建立任务,这样降低了任务的灵活性,但节省了RAM开销,使得Small   ROTOS51   可以在小RAM   的CPU中运行。在Config.h中有类似程序清单4.15的代码,  
  条件编译保证这一段代码仅在Os_cpu_c.c中生效。  
   
  程序清单4.15   定义各个任务的初始PC指针  
  //任务定义  
  #ifdef   IN_OS_CPU_C  
  extern   void   TaskA   (void);  
  extern   void   TaskB(void);  
  extern   void   TaskC(void);  
  extern   void   TaskD(void);  
  void   (*const   TaskFunction[OS_MAX_TASKS])(void)={TaskA,TaskB,TaskC,TaskD};  
  #endif  
  //Top

31 楼FreeFice(庄鱼)回复于 2004-09-05 20:58:02 得分 1

在C代码设计中,使用.h文件,通常可以完成类宏操作——一种类似C++类的宏扩展,以达到函数多态与复用技术,C++为保证程序可读性与健壮性,通常建议不这样使用,而是用特定的类操作符class。  
  我们平常认为,.h文件完全可以忽略不用,是在很少用到宏的情况下,如果宏、条件编译比较多的话,.h文件通常会直接由预编译程序进行处理,并进行优化。这样做,要比直接写到.c/.cpp文件中效率要高些。对多个文件组合的程序、项目而言,节省代码空间和减少内存消耗是有帮助的。Top

32 楼applebomb(袋装苹果)回复于 2004-09-05 21:21:40 得分 5

作者的意思是说,放在.h而不是在在每个.c中写一次,这样重用而节约内存  
   
  晕~  
  Top

相关问题

  • 自定义函数
  • 自定义函数
  • 自定义函数
  • 自定义函数
  • 如何通过.h文件读懂函数原型,自定义变量及函数。顺利编程
  • 高手帮我 把一个.h头文件中定义的函数,改写一个VB中可以调用的函数定义
  • “回调函数”的定义?
  • 函数定义问题
  • 怎么自定义函数???????
  • 库函数的定义

关键词

  • c++
  • 函数
  • 内存
  • 文件
  • 代码
  • 作者
  • os
  • 节省
  • 定义
  • 效率

得分解答快速导航

  • 帖主:gtkknd
  • Andy84920
  • liuleilover
  • oCplus
  • freshairfly
  • FreeFice
  • eastsun
  • liyufeng1983
  • abcdefu520
  • purple_monday
  • dafan
  • muymuy
  • LifeAndC
  • CNXQS
  • nicewinds
  • FreeFice
  • applebomb

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo