linux gcc延时怎么写,推迟C静态对象构建 – Linux上的GCC
想象一下,我有一個(gè)名為MyClass的C類.
想象一下,我無法訪問MyClass的源代碼……它包含在一個(gè)庫中,我只提供了庫和MyClass的頭文件.
想象一下,類本身需要環(huán)境預(yù)配置……例如……在調(diào)用類的構(gòu)造函數(shù)之前,我需要做一些設(shè)置.該類通常用于如下:
void func() {
doGlobalSetup();
MyClass myInstance(1,2,3);
myInstance.doSomething();
...
}
現(xiàn)在我遇到了需要?jiǎng)?chuàng)建類的全局實(shí)例的情況,例如:
MyClass myInstance(1,3);
int main(int argc,char *argv[]) {
doGlobalSetup();
myInstance.doSomething();
}
問題是在這個(gè)故事中,MyClass的實(shí)例是在調(diào)用doGlobalSetup()之前創(chuàng)建的.它在調(diào)用main()之前被實(shí)例化.我想要做的是將myInstance()的創(chuàng)建推遲到以后,或者能夠在類的實(shí)例化之前以某種方式運(yùn)行doGlobalSetup().
這是對(duì)實(shí)際故事的簡(jiǎn)化……所以讓我們假設(shè):
>我無法改變MyClass的內(nèi)部.
>必須有一個(gè)名為myInstance的MyClass類型的實(shí)例變量(我無法將邏輯更改為MyClass * pMyInstance).
非常感謝閱讀.
總結(jié)
以上是生活随笔為你收集整理的linux gcc延时怎么写,推迟C静态对象构建 – Linux上的GCC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux lynx 源码,Linux
- 下一篇: yum go linux,使用yum安装