gpt4 book ai didi

c++ - 初始化应用程序的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 03:59:49 25 4
gpt4 key购买 nike

初始化和终止应用程序的最佳方式是什么?

  1. 库只需要初始化/终止一次,可以被任意数量的 dll 使用。
  2. 是否有任何标准设计可以实现这一点?
  3. 此初始化必须是第一步。

我在这里需要的是单例。加载的任意数量的 dll 将使用相同的实例还是单独的实例?

我正在使用 log4cxx 记录器实现。我希望这个 log4cxx 应该只初始化一次。谁能指出伪代码

最佳答案

大多数应用程序都有一个入口点(对于标准 C++,它称为 main),您可以在其中创建持续应用程序生命周期的对象。

从您的描述看来,您实际上是在编写一个服务库,该服务库用于其他应用程序而不是应用程序(在传统意义上)本身。

唯一安全的做法是使您的服务可重新初始化,因为没有什么可以阻止应用程序动态加载链接到您的库的 dll,显式卸载该 dll 然后重新加载它。

对于您的库,中间 dll 卸载和正常终止之间没有明显的区别。

当您的库被加载时,您可以使用共享/全局数据来跟踪初始化,以便您只执行可以在客户端之间共享一次的昂贵初始化步骤。

也许您应该概述重新初始化您的库会造成什么困难?

关于c++ - 初始化应用程序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1403713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com