一问三十.三个小问题.

THEBEST 2004-07-12 12:13:00
1>预编译头文件

"如果头文件过大,或分散的元素太多,程序员可能会不愿意因为包含它而增加编译时间开销,为降低编译时间开销,有些C++实现提供了预编译头文件支持."

是摘自C++PRIMER p333的一段.

请问"预编译头文件支持"是什么意思?(具体点,在g++编译器上如何实现呢或者有没有实现?)

2> type-safe link...
void f(char);

void f(signed char)
{
// ...
}

在一台机子char实现为signed char上面,为何上面的也不能正确链接呢?
char 也是signed char,那原型和定义应该是匹配的呀.

3>inline未成功时
放在头文件中的inline函数定义未被内联成功时会不会有副作用?
只是加大可执行文件的大小?
...全文
277 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
THEBEST 2004-08-10
  • 打赏
  • 举报
回复
1.好像是:先把编译器自己认为重要的,要用的装入内存
--------
是不是这样?

inline未成功时就当作普通的函数放在"头文件"中还是怎么处理呢?

答完肯定给分.
Vigorcsdn 2004-08-09
  • 打赏
  • 举报
回复
答完不给分,靠!
THEBEST 2004-08-09
  • 打赏
  • 举报
回复
唉,别扯开话题嘛.

这信誉值说明的是什么问题?
wodeyouxian 2004-08-09
  • 打赏
  • 举报
回复
还有性欲值为25的ID?
THEBEST 2004-08-09
  • 打赏
  • 举报
回复
1.好像是:先把编译器自己认为重要的,要用的装入内存
--------
是不是这样?

inline未成功时就当作普通的函数放在"头文件"中还是怎么处理呢?
kaphoon 2004-07-21
  • 打赏
  • 举报
回复
1.好像是:先把编译器自己认为重要的,要用的装入内存
2.char ,unsigned char, signed char
三者是不同的东西,这是个特例,在TC++PL有讲
THEBEST 2004-07-20
  • 打赏
  • 举报
回复
没意思的吗?
THEBEST 2004-07-19
  • 打赏
  • 举报
回复
1>预编译头文件到底是个什么概念呢?它是根据什么原理来降低编译时间开销的呢?g++,icc里有没有实现这种做法?
2>有没有补充的?
3>没有副作用?如何当做普通函数来处理?但是每个包含有inline函数的头文件的文本文件都会存在这个函数的定义呀.怎么办呢?
expert2000 2004-07-13
  • 打赏
  • 举报
回复
我再次发现选择一个好的编译器真的很难。而且是选好了编译器才能更好的工作学习。c/c++语言只是一个抽象的东西,要把它转化为实在的软件,还是要靠编译器。不同的编译器实现起来各有不同,给我们造成了不少的麻烦。
freefalcon 2004-07-12
  • 打赏
  • 举报
回复
1. vc中实现了预编译,stdafx.h和stdafx.cpp便是用于生成预编译文件(.pch)的,不是前面UPCC所说的.lib,那是库文件

2. 不太清楚,没用过太多编译器,也许是编译器各自的实现不一样吧

3. 没有副作用
hcj2002 2004-07-12
  • 打赏
  • 举报
回复
3 〉。
inline未成功时 放在在头文件中的inline函数定义被看做是普通的函数,并按一般的函数调用法则调用,并没有什么副作用。
Dong 2004-07-12
  • 打赏
  • 举报
回复
sfxstd.h ==》 afxstd.h
Dong 2004-07-12
  • 打赏
  • 举报
回复
预编译头文件支持:在VC里的预编译头文件就是sfxstd.h。把程序必须用到的文件放在一起,在编译时先把他的函数编译成一个*.lib文件,以后如果程序修改了,这一部分就不必再次编译,加快了编译的时间。

signed 是一个修饰符来的,虽然在这里是一样的,但有很多地方是不一样的。而且编译器也会有不聪明的。而且signed char 和 char 是两个不同的类型,虽然他们存储的一样。

会不会inline要看编译器在编译时的选择,假如它不给内联也不存在副作用的,

Dong 2004-07-12
  • 打赏
  • 举报
回复
楼上说的时,为了抢分都答错了。真是sorry.也谢谢楼上的好心。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧