社区
C++ 语言
帖子详情
c++源文件和头文件问题
qq_36251364
2016-11-01 04:03:31
读工程代码时,遇到部分源文件只有一句语句
如DBIn.cpp中只有一句: #include "DBIn.h" 有点不懂这个源文件此时的含义
我删除了这个源文件进行编译,结果提示错误了,但是我看也有头文件单独存在不对应源文件的情况,却不会报错。
想问:这类型源文件的含义是什么?还有什么情况下可以不写源文件?
...全文
220
6
打赏
收藏
c++源文件和头文件问题
读工程代码时,遇到部分源文件只有一句语句 如DBIn.cpp中只有一句: #include "DBIn.h" 有点不懂这个源文件此时的含义 我删除了这个源文件进行编译,结果提示错误了,但是我看也有头文件单独存在不对应源文件的情况,却不会报错。 想问:这类型源文件的含义是什么?还有什么情况下可以不写源文件?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2016-11-04
打赏
举报
回复
理解
和
讨论
之前请先学会如何
观察
! VC编译选项加/EP /P(项目、属性、配置属性、C/C++、预处理器、预处理到文件:是,预处理取消显示行号:是),重新编译,查看宏展开后对应的.i文件。gcc加-E
http://bbs.csdn.net/topics/391003898
FredHuang85
2016-11-04
打赏
举报
回复
读工程代码时,遇到部分源文件只有一句语句 如DBIn.cpp中只有一句: #include "DBIn.h" 有点不懂这个源文件此时的含义 我删除了这个源文件进行编译,结果提示错误了,但是我看也有头文件单独存在不对应源文件的情况,却不会报错。 想问:这类型源文件的含义是什么?还有什么情况下可以不写源文件? ------------ 如果.cpp里面只有一句"#include "DBIn.h""的话,这个.cpp删除出工程(不是删除源文件,是删除出工程)是可以的。这种原文件没准是占位留着扩展的,如果你的头文件里面的申明都在.h里面实现了的话,可以不用源文件了,另外自己写C++代码的话还是养成.h里面申明,cpp里面实现的习惯。可读性会很好。
paschen
版主
2016-11-01
打赏
举报
回复
或许你直接将DBIn.cpp从项目中移除则没有问题
flying_music
2016-11-01
打赏
举报
回复
一般情况下h文件是给别人用的,也可以理解为是给别的cpp文件用的,因为C/C++一般的文件组织方式为cpp文件中放的是函数的定义和变量的定义(比如a.cpp),如果别的cpp文件(比如b.cpp)里要用这些函数或者变量,就要包含对应的头文件(a.h),而头文件里放的是这些东西的声明,当编译b.cpp时,编译器会看到a.h中对a.cpp中变量和函数的声明,这样编译器就不会报错了,否则就会出现未定义错误,这是正常的情况 你说的情况是a.cpp中要不要包含a.h,这个问题就要看编译a.cpp时会不会用到a.h中的东西了,一般情况下,定义是不用见到声明的,但也有一些特殊情况,比如当涉及到类时,类本身是定义了一个作用域,所以在其他文件(也就是a.cpp文件)定义类的成员变量(一般是静态)或成员函数时是要见到类的定义的,比如你写的void A::fun(){}里面那个A必须是可见的,这个时候就要包含对应的头文件了
eziowayne
2016-11-01
打赏
举报
回复
可能是这样,DBIn.cpp的实现放在DBIn.h里面了,但是工程中的其他文件可能并不是直接包含DBIn.h的,而是包含DBIn.h对应的声明头文件,如果你不编译DBIn.cpp,应该会提示链接错误。 你说的其他没有源文件的情况是很常见的:一个模块编译成一个库文件,然后只要提供给你头文件和库你就能顺利编译了。
小灸舞
2016-11-01
打赏
举报
回复
头文件是预编译的。每个源文件包涵的头文件都会被预编译包含到源文件中去。
有些头文件所对应的实现,已经打包在一起变成了.lib和.dll这些库文件了,所以你看不到它的源文件
C++
源
文件
和
头
文件
关于求解直线方程和法线方程
C++
源
文件
和
头
文件
关于求解直线方程和法线方程,自己编写,调试没有
问题
。可以直接加入到自己的工程之下。在创建linear_e的实例后,调用类中的三种求解直线方程的方法,和求解法线方程的方法。
C++
头
文件
转
源
文件
工具
自己编写的一个
C++
头
文件
转换
源
文件
程序,用到MS的greta库、SkinMagic库,MFC下开发而成,软件开源,可自由传播,请保留作者信息。 觉得对你有用的麻烦顶下。
C++
头
文件
与
源
文件
[参考].pdf
C++
头
文件
与
源
文件
[参考].pdf
C++
中
头
文件
与
源
文件
的作用详解
主要给大家介绍了关于
C++
中
头
文件
与
源
文件
的作用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用
C++
具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
lua脚本自动由已知
头
文件
生成
源
文件
lua程序实现:已知一个C/
C++
的
头
文件
,自动生成相应的
源
文件
C++ 语言
64,682
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章