gpt4 book ai didi

c++ - 使用 init_seg 调用初始化函数

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:09 24 4
gpt4 key购买 nike

我试图确保程序首先调用函数以确保关键对象的初始化。但是,我对如何使用/调用 init_seg 感到困惑。

例如,从 msdn 的文档来看,似乎首先调用的是以下内容。

#pragma init_seg( ".CRT$XCC" )

static void InitializeStuff()
{
printf("InitializeStuff\n");
}

但是,情况似乎并非如此,因为该函数显然不会被自动调用(当然,除非我明确调用它)。

我如何使用 init_set 来确保函数在我的其他执行代码的其余部分之前被调用?

最佳答案

如果我没有理解错的话,你可以将所有你想要初始化的全局变量放在与 #pragma init_seg

相同的文件中

例子:

#pragma init_seg( ".CRT$XCB" )

class A
{
A()
{
printf("first!\n");
}
};

static A first;

并确保除了要首先初始化的全局变量外,不要在该文件中放置任何其他全局变量。

关于c++ - 使用 init_seg 调用初始化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10205800/

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