为什么这样?

qingniao 2000-04-14 11:22:00
<a.h>
#include "b.h"

<a.cpp>
#include "b.h"

<b.h>
HANDLE hCom;

编译时提示连接警告,_hCom在a.obj和b.obj中双重定义。
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
softdoctor 2000-04-14
  • 打赏
  • 举报
回复
少在头文件里包含头文件。
实在不行,用extern声名变量
telan 2000-04-14
  • 打赏
  • 举报
回复
全局变量最好定义在一个.CPP文件中,
在其他文件中用:

extern 类型 变量;

来声明。

telan 2000-04-14
  • 打赏
  • 举报
回复
写头文件要这样写:
<b.h>
#ifndef __B__H__INCLUDED__
#define __B__H__INCLUDED__

HANDLE hCom;

#endif

mingcb 2000-04-14
  • 打赏
  • 举报
回复
"a.h"是不是已被include进了"a.cpp"中,若是,当然出错。
  大家好,我是录制课程的老师,课程已经上线课堂,欢迎大家试听,感谢同学们的支持。在你们的学习中我会全力助你提升MySQL技能,助你冲击更高年薪。支持课程答疑,支持一对一答疑服务,由课程老师直接回答。    MySQL凭借着它不错的性能、不错的稳定性、数据的安全性常年稳居行业老二宝座。    越来越多的DBA和后端同学在工作中少不了和MySQL打交道,也经常会产生这样的疑问:    为什么我写的sql语句性能这么低?  为什么明明我建了索引却没有用到索引?  为什么突然我的数据就成了乱码?  为什么我备份的文件在主库恢复,数据无法同步到从库?  为什么我的数据库数据不多,却占了很多的空间?  生产中我应该选择哪种隔离级别?  生产中都在使用innodb存储引擎,我却对它一无所知?  我应该怎么规划缓冲池才能让数据库性能更高?  为什么我做表数据迁移这么慢?  为什么我写的sql会造成那么多的锁冲突、死锁?  为什么我不能将数据恢复到任意时间点?  为什么我不能解决公司主从复制架构中的故障?  吧啦吧啦一大堆问题……    在面试中MySQL的一些知识更成为躲不过的问题,比如b+tree索引、MVCC、隔离级别的实现、锁的使用,主从复制,MySQL性能优化、事务两阶段提交等等都成为了面试考题重灾区。    我的课程就是从实际工作来,从问题出发,带着问题来学习MySQL,想解决问题就要学习新的知识,大家跟紧老司机,MySQL的面纱就会慢慢摘下。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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