![]() |
1
3
构建应用程序时,链接器会添加启动代码,这是操作系统在内存中加载程序时要执行的第一个代码。这段代码将完成所有初始化工作,完成后,将调用main()函数。 如果您正在谈论用自己的代码替换此代码,那么应该检查编译器/链接器的内部详细信息(并且确保您知道自己在做什么!!)。 如果您的问题是关于拥有多个进程,并且您需要知道其中一个进程是否已启动,那么您应该使用适当的同步机制(可以是底层操作系统提供的同步机制之一,也可以是您自己创建的同步机制)。 |
![]() |
2
1
|
![]() |
3
0
如果您的问题是关于windows的,我知道您可以从进程启动时检测到消息泵。这样你就可以确定一切都初始化了。 当然,这不是飞来飞去的 |
![]() |
4
0
如果您在windows上运行,请创建 mutex 在你完成初始化之后。然后可以在互斥体上等待singleobject,以检测程序是否真正初始化。 许多应用程序这样做是为了检测启动是否完成以及应用程序的其他实例是什么。如果您只想运行一个程序的一个实例,这一点尤其正确。 |
![]() |
notamaster · 匿名命名空间中的变量声明和其他位置的定义 2 年前 |
![]() |
Bipolo · 使用另一个命名空间的名称创建子命名空间 2 年前 |
![]() |
The Vivandiere · 从命名空间中引入单个名称 6 年前 |
![]() |
Bercovici Adrian · 静态类内定义的类的约束 6 年前 |
![]() |
shir k · 使用命名空间重载函数(&O) 6 年前 |
![]() |
yearntolearn · R包命名空间 6 年前 |
![]() |
ambikanair · 与特权pod共享装载命名空间 7 年前 |
![]() |
landau · 如何检查环境是否为包命名空间[重复] 7 年前 |