静态库某些源文件的类静态变量没有被分配

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
  • 打赏
  • 举报
回复
如果是全局静态变量的话那么初始化顺序不定,如果是局部静态变量的话,那么只有在第一次执行函数的时候才会初始化

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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