想象一下,我有一个名为MyClass的C类.

想象一下,我无法访问MyClass的源代码……它包含在一个库中,我只提供了库和MyClass的头文件.

想象一下,类本身需要环境预配置……例如……在调用类的构造函数之前,我需要做一些设置.该类通常用于如下:

void func() {

doGlobalSetup();

MyClass myInstance(1,2,3);

myInstance.doSomething();

...

}

现在我遇到了需要创建类的全局实例的情况,例如:

MyClass myInstance(1,3);

int main(int argc,char *argv[]) {

doGlobalSetup();

myInstance.doSomething();

}

问题是在这个故事中,MyClass的实例是在调用doGlobalSetup()之前创建的.它在调用main()之前被实例化.我想要做的是将myInstance()的创建推迟到以后,或者能够在类的实例化之前以某种方式运行doGlobalSetup().

这是对实际故事的简化……所以让我们假设:

>我无法改变MyClass的内部.

>必须有一个名为myInstance的MyClass类型的实例变量(我无法将逻辑更改为MyClass * pMyInstance).

非常感谢阅读.

linux gcc延时怎么写,推迟C静态对象构建 – Linux上的GCC相关推荐

  1. linux gcc延时怎么写,Clang / GCC是否真的支持延迟加载功能?

    如果您 确实经历过 与上述标题相关的事情,您是否愿意对此发表评论?我试图使共享对象在Ubuntu上同时被Clang和GCC延迟加载(我实际上不介意使用哪个编译器),但是它们看起来并没有真正支持任何延迟 ...

  2. linux中板子烧写环境配置,3、在Linux下搭建51单片机的开发烧写环境(makefile版)...

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  3. linux在mak时候出现错误,在使用yocto构建linux映像时出现“memfd戋create的静态声明跟随非静态声明”错误...

    我正在使用 Yocto 建立系统 Ubuntu 18.04 主机.我正在遵循提供的步骤 here . 我正在为 Colibri iMX6ULL 模块上的计算机.但是,我的生成失败,它显示以下错误 de ...

  4. Linux系统中的“动态库”和“静态库”

    Linux系统中的"动态库"和"静态库" 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式.ELF(Executable a ...

  5. GCC编译过程与动态链接库和静态链接库

    1. 库的介绍 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式,可 ...

  6. 韦东山 嵌入式Linux应用开发基础知识 上【gcc makefile 输入设备

    1 main的输入参数,并且在命令行运行文件的时候输入 我的练习 先写了个单纯输出的hello 按照教程里那样写hello 所以gcc编译过程应该是 先创建一个.c文件 gcc -c -o hello ...

  7. Linux 环境编程 day01 Linux系统介绍、GNU编译工具、静态/共享库、环境变量表

    Linux 环境编程 day01 Linux系统介绍.GNU编译工具.静态/动态库.环境变量表 学习Linux环境编程的原因 UNIX系统介绍 Linux系统介绍 GNU工程 POSIX标准 GNU通 ...

  8. 【Linux】Linux系统编程(入门与系统编程)(二)(vim、gcc、gdb、Makefile、yum、git等工具的了解与使用)

    本文重点 学习yum工具,进行软件安装 掌握vim编辑器使用,学会vim的简单配置 掌握gcc/g++编译器的使用,并了解其过程,原理 掌握简单gdb使用于调试 掌握简单的Makefile编写 了解其 ...

  9. 利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序

    利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序 前面两篇文章已经介绍过 tap/tun 的原理和配置工具.这篇文章通过一个编程示例来深入了解 tap/tun 的程序结构. ...

最新文章

  1. Resin介绍及其使用配置
  2. linux内核的syslets补丁
  3. 特变电工新能源打造绿色数据中心:综合能效提升18%以上
  4. 聚集云原生,可观测性的实践与探索 | 线下技术沙龙
  5. 真的,太多人辜负了.NET5!
  6. Event Delegate(代理)异常:该委托必须有一个目标 解决方法
  7. STM32 - 定时器的设定 - 基础- 0D - Timer synchronization chaining - 主从模式下 - 定时器同步和级联控制 - 级联启动定时器
  8. Jsp基本指令和动作
  9. 小程序后台PHP版本部署运行 LNMP+WNMP
  10. 如何给网页设置logo
  11. 【C语言】案例四十九 学生档案管理系统
  12. 神经网络 和 NLP —— 语言模型和词向量
  13. 实用工具系列 - FileZilla安装下载与使用
  14. (PTA)数据结构(作业)11、树和图
  15. 在 vue 中使用 SVG 建立图标系统并且使用
  16. android简单即时聊天sdk
  17. 【总结-学习-提升】web应用为什么需要tomcat容器
  18. KT1025A蓝牙芯片模块关于录音功能的一些常见问题_以及解答
  19. opencv入门:支持向量机,K均值聚类
  20. TS 类的这10个知识点你掌握了吗?

热门文章

  1. python gps模块_一步一步使用uPyCraft学习MicroPython之GPS记录器
  2. 劲脆鸡米花、鸡排、黄金鸡块
  3. 原来 Matplotlib 绘图也可以这么漂亮,这次真的是学习到了!
  4. post php数据,php post数据
  5. 可以分屏吗_LED透明屏分屏是怎么一回事?
  6. android 首页6个碎片,Android 单帧碎片
  7. 使用python数据分析的研究意义_大数据分析语言Python的价值和意义
  8. SQL Server 查询数据库里所有表的行数
  9. 【share】PHP站点用Squid再次疯狂加速你的WEB
  10. ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步