怎么定义一个多个cpp能用的全局变量啊

yaoguai1983 yaoguai1983 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
比如说我有一个a.cpp,这个cpp中有个全局变量m_len,在a.cpp中要调用b.cpp,要求在b.cpp中给m_len赋值,可以实现吗?
...全文

相关推荐

C/C++语言中全局变量重复定义问题的解决方法

前言 在C语言中使用extern 关键字来定义全局变量的时候,我们需要在.h文件和.c文件中重复定义,这种重复,导致了出错几率的增加。 今天,在整理自己的代码的时候,考虑到我写的代码从一至终都是在一个cpp文件里面。于是,想把自己的代码中的各个模块分离开来,以便更好地阅读和管理。 遇到的问题 我的做法是: 宏定义、结构体定义、函数声明以及全局变量定义放到一个head.h头文件中 函数的定义放到head.cpp中 main函数放到main.cpp中 然而却报错了,提示xxx变量在*.obj文件中已定义 问题出现的原因 为什么会出现这种情况呢? 首先单个文件的编译是独立的

weixin_38590456

基于C++全局变量的声明与定义的详解

(1)编译单元(模块)在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作:第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。那么,错误可能在两个地方产生:一个,编译时的错误,这个主要是语法错误;一个,链接时的错误,主要是重复定义变量等。编译单元指在编译阶段生成的每个obj文件。一个obj文件就是一个编译单元。一个.cpp(.c)和它相应的.h文件共同组成了一个编译单元。一个工程由很多编译单元组成,每个obj文件里包含了变量存储的相对地址等。(2)声明与定义函数或变量在声明时,并没有给它

weixin_38528680

定义CC++全局变量常量几种方法的区别

本文详细介绍了C++程序中的全局变量的声明、引用以及如何在头文件中定义全局变量

hhf2004

C++ .h和.cpp文件总结

总结了.h文件能做什么,.cpp文件能做什么,总结了.h文件的本质,方便新手在遇到文件包含、类型声明、变量定义时能理清.h与.cpp关系,纯属个人总结文档。

奔跑的龟龟

C++使用全局变量的方法多个文件

启动错误的做法   在global.h声明和定义变量   int sharedData = 9;   编译出错   Building target: CTest   Invoking: GCC C++ Linker   g++  -o "CTest"  ./src/CTest.o ./src/global.o   ./src/global.o:(.data+0x0): `sharedData'被多次定义   ./src/CTest.o:(.data+0x0):第一次在此定义   collect2: 错误: ld 返回 1   正确的做法。   在global.h头文件声明

weixin_38665411
评论 7
收藏 已收藏
分享
返回顶部
yaoguai1983
VC/MFC 16,550 成员 421,606 内容