include 不要包含.pp 最好只包含.h

交谈中请勿轻信汇款、中奖信息,勿轻易拨打陌生电话。

 月下独酌  11:21:57
问个问题 “已经在.obj中定义”是什么问题?
月下独酌  11:22:23
我已经写了:宏#define MCResThird
#ifndef MCResScnd
#include"MCResScnd.cpp"
#endif
11:23:11
您的好友不在线或隐身,因此您不能发送窗口抖动。
王风  11:23:50
尽量不要include源文件
月下独酌  11:24:26
这样行吗?
王风  11:24:28
如果要用别的文件的全局函数可以包含它的头文件,如果用到其他文件里的全局变量,用extern
月下独酌  11:24:51
奥,对
王风  11:25:07

王风  11:25:19
而且这种define是在你要包含的文件里做的
王风  11:25:29
是为了防止二次包含
月下独酌  11:26:13
举个例子
王风  11:27:08
比如。
王风  11:28:10
有个头文件1.h
在1.h里边写上
#ifndef MAC_1_H
#define MAC_1_H
#endif
王风  11:28:48
然后包含的时候写
#ifndef MAC_1_H
#include "1.h"
#endif
月下独酌  11:29:33
奥,
王风  11:30:33
有时候包含头文件还能形成递归呢
王风  11:30:43
不控制的话
王风  11:30:49
老恐怖了。
月下独酌  11:30:53
是啊
月下独酌  11:31:54
b.cpp中包含了a.h,在单独编译此文件的时候,会检查a.cpp中的错误吗
月下独酌  11:32:49
一个工程中各个cpp文件是不是单独编译的,然后一块连接构件
王风  11:33:54
这个就不清楚了
王风  11:33:59
编译器进行了很多优化
月下独酌  11:34:43

王风  11:34:48
各个头文件和对应的源文件应该都是独立的
王风  11:35:03
除了各文件里的全局变量
王风  11:35:25
所以检查每个源文件+头文件的错误基本就够了
王风  11:35:48
extern也是告诉编译器:我创建了这个全局变量,不过在其他文件里,你找去把。
王风  11:36:36
编译器维护了这样一个表格,存放编译过的一些变量名,类型名,函数名什么的。
月下独酌  11:36:41
只要用extern声明一下,定义在其他文件了 ,是吧
王风  11:36:51
嗯。
月下独酌  11:40:05
我举个例子你看看:
月下独酌  11:42:02
文件:fun.h/fun.cpp/step1.cpp/step2.cpp/main.cpp
其中step1  step2中都需要调用fun.而main由step1 step2完成
王风  11:43:09
最好不要包含cpp文件。
月下独酌  11:43:17

月下独酌  11:43:45
那就写个step1.h step2.h在main中包含?
王风  11:43:56
可以
王风  11:44:26
如果包含cpp文件,就算不出错,也会使结构混乱
月下独酌  11:44:32
好的,谢谢了
月下独酌  11:44:37
吃饭去
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值