社区
C++ 语言
帖子详情
静态库某些源文件的类静态变量没有被分配
vanxining
2010-09-07 07:45:06
例如我有一个源文件,文件中定义有几个类,这些类都有某些静态变量在这个源文件中被定义。但在主程序中没有直接调用文件中的的函数,结果就是,这些静态变量没有被初始化。
我想这是因为编译器认为程序没有用到这些代码所以就没有链接进去,但我确确实实会用到他们的。
请问有什么解决方法吗?
...全文
102
5
打赏
收藏
静态库某些源文件的类静态变量没有被分配
例如我有一个源文件,文件中定义有几个类,这些类都有某些静态变量在这个源文件中被定义。但在主程序中没有直接调用文件中的的函数,结果就是,这些静态变量没有被初始化。 我想这是因为编译器认为程序没有用到这些代码所以就没有链接进去,但我确确实实会用到他们的。 请问有什么解决方法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vanxining
2010-09-10
打赏
举报
回复
没有解决。不管它了
npuhuxl
2010-09-07
打赏
举报
回复
最好贴出一个简单的示意代码!
vanxining
2010-09-07
打赏
举报
回复
这些静态变量会被添加进一个std::list中
---------------------
这些静态变量会在它自己的构造函数中将自己添加进一个全局静态list中
vanxining
2010-09-07
打赏
举报
回复
我认为不是初始化程序的问题,假如是顺序问题,程序肯定会崩溃,因为这些静态变量会被添加进一个std::list中
pengzhixi
2010-09-07
打赏
举报
回复
如果是全局静态变量的话那么初始化顺序不定,如果是局部静态变量的话,那么只有在第一次执行函数的时候才会初始化
搞定系列:CMakeLists编写实战linux版
CMake是一个跨平台的构建工具,可以用于自动生成构建系统,以便管理C++项目的构建和发布。在这个课程中,我们将以简单例子了解CMakeLists编写规则,包括它的基本概念、语法和用法,以及如何使用它来自动化编译C++项目。课程大纲如下:CMake基本概念了解,通过简单例子去学习CMake构建规则。CMake语法和用法 介绍CMake的语法和基本命令,包括变量、函数、条件语句、循环语句等。构建C++项目 介绍如何使用CMake来构建和管理软件项目,包括如何创建CMake项目、如何添加和配置目标、如何添加和配置
源文件
、如何添加和配置库文件等。CMake的高级功能 介绍CMake的一些高级功能,包括如何使用变量、如何使用条件语句和循环语句、如何添加自定义目标、如何添加自定义命令等。实践项目 通过实践项目来巩固所学知识,包括如何使用CMake来构建一个简单的C++程序、如何使用CMake来构建一个多目标的项目、如何使用CMake来构建一个
静态库
和动态库等。通过这个课程,您将学会使用CMake来自动化构建和管理软件项目,从而提高您的开发效率,减少错误,并使您的项目更加可维护。
静态库
和动态库里的全局变量(或
类
的静态成员变量)共享和独立的问题
本文将要讨论的内容实际上包含2个问题: 1. 工程中包含
静态库
A,动态库B,可执行程序C。C依赖于A和B,而B依赖于A。在A中定义有全局变量X(或
类
的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 测试代码如下: //A中定义变量g_nValue(A.cpp): int g_nValue = 0;
c++全局变量与
静态变量
概述: 全局变量和和由static修饰的
静态变量
都被储存在全局数据区。全局数据区的内存在程序运行时会被全部置'0'.这不同于局部变量,局部变量在栈上
分配
内存,但此块内存一般不为零,且编译器不会在局部变量被声明的地方为其置'0',除非申明时对其初始化值为0. 全局变量: 申明在main函数外的变量被编译器视为全局变量。即其在整个文件的任何地方都可以使用它。 对于其他
源文件
来说,全局变量...
C++中的
静态变量
静态变量
作用范围在一个文件内,程序开始时
分配
空间,结束时释放空间,默认初始化为0,使用时可以改变其值。
静态变量
或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。 用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态
分配
的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将
头文件+
源文件
、动态库和
静态库
、宏定义
关于
静态库
与动态库的作用与用法
C++ 语言
64,685
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章