盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

在程序打开时执行函数

时间:2024/10/7作者:未知来源:盾怪网教程人气:

[摘要]有一些应用程序需要调用启动函数来分配 main() 函数开始执行时必须提供的资源。一个很好的例子是记录程序活动的一个日志实用工具。这个日志服务必须在 main() 之前开始,这样它才能记录程序的开始...
有一些应用程序需要调用启动函数来分配 main() 函数开始执行时必须提供的资源。一个很好的例子是记录程序活动的一个日志实用工具。这个日志服务必须在 main() 之前开始,这样它才能记录程序的开始。
  为了保证这样可行,可以在全局对象的构造器中调用初始化函数。全局对象概念上是在 main() 开始之前构造的。例如:

  class Init
  {
  public:
   Init()
   {
   log_activity();
   }
  };

  Init init; // global instance
  int main()
  {
   activity_report* rep=read_log();
   //..
  }
  在 main() 开始执行时,init 已经构造好了。在它的构造过程中,它调用了函数log_activity()。因此,main() 在开始执行时可以安全地立即从日志文件中读取数据。
  这种方法还被标准模板库(Standard Template Library)广泛采用。例如,iostream对象cout和cin都是在 main() 之前构造的。C++ 如何保证全局对象在 main() 之前构造的呢?在大多数实现中,内核运行特殊的启动代码,这个特殊的启动代码在启动 main() 之前完成所有的初始化。

关键词:在程序打开时执行函数




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版