• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰(zhàn)魂小筑

            討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開(kāi)源項(xiàng)目:https://github.com/davyxu

               :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評(píng)論 :: 0 Trackbacks

            引擎中的每個(gè)工程均以靜態(tài)庫(kù)方式鏈接到最后的exe. 代碼中包含有靜態(tài)類成員,第一次運(yùn)行正常,后面不知什么原因, 這些靜態(tài)類成員不會(huì)被初始化, 在 crtexec.c 的CRT 初始化全局類成員函數(shù)

            static void __cdecl _initterm (
            #endif  /* CRTDLL */
                    _PVFV * pfbegin,
                    _PVFV * pfend
                    )
            {
                    /*
                     * walk the table of function pointers from the bottom up, until
                     * the end is encountered.  Do not skip the first entry.  The initial
                     * value of pfbegin points to the first valid entry.  Do not try to
                     * execute what pfend points to.  Only entries before pfend are valid.
                     */
                    while ( pfbegin < pfend )
                    {
                        /*
                         * if current table entry is non-NULL, call thru it.
                         */
                        if ( *pfbegin != NULL )
                            (**pfbegin)();
                        ++pfbegin;
                    }
            }

             

             

            這個(gè)函數(shù)會(huì)初始化所有鏈接到exe中的全局函數(shù)構(gòu)造, 跟蹤這個(gè)地方, 發(fā)現(xiàn),只有1個(gè)lib中的能被正確調(diào)用,但是出問(wèn)題的那個(gè)lib中所有構(gòu)造都不能被調(diào)用. 嘗試調(diào)整編譯順序無(wú)果

            唯一的方法只有修改架構(gòu)為在winmain內(nèi)進(jìn)行構(gòu)造

            如果有這方面調(diào)試經(jīng)驗(yàn)的同學(xué)可以回帖,謝謝


            評(píng)論

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-04-23 19:45 Lo
            一般是編譯庫(kù)文件的vs版本不對(duì)
            比如vc2003用vc6編譯的庫(kù) 就會(huì)出這樣的問(wèn)題  回復(fù)  更多評(píng)論
              

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-04-23 20:37 Davy.xu
            都是vs2008工程  回復(fù)  更多評(píng)論
              

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-04-23 20:54 Davy.xu
            都是vs2008工程

            換過(guò)機(jī)器編譯,一樣的結(jié)果. 具體研究了下, 換了一個(gè)CPP就會(huì)解決這個(gè)問(wèn)題.但是在原來(lái)的CPP無(wú)論構(gòu)造多少都無(wú)法初始化  回復(fù)  更多評(píng)論
              

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-04-24 02:32 陳梓瀚(vczh)
            一直都堅(jiān)持在winmain初始化并且盡可能減少全局變量的vczh飄過(guò)  回復(fù)  更多評(píng)論
              

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-04-29 19:56 zhuxinbin2000@gmail.com
            靜態(tài)類成員除非在類外面有定義,否則是不會(huì)在_initterm里面初始化的,就是說(shuō)只有被使用了才會(huì)初始化。   回復(fù)  更多評(píng)論
              

            # re: CRT未構(gòu)造全局對(duì)象問(wèn)題 2010-06-22 15:21 小祥
            @zhuxinbin2000@gmail.com

            應(yīng)該是被VC優(yōu)化掉了,說(shuō)明這些變量沒(méi)有用到。
              回復(fù)  更多評(píng)論
              

            亚洲另类欧美综合久久图片区| 久久久久久人妻无码| 色综合久久最新中文字幕| 国产精品毛片久久久久久久| 久久精品国产亚洲综合色| 办公室久久精品| 久久久久亚洲AV片无码下载蜜桃 | 亚洲中文字幕无码久久2020| 精产国品久久一二三产区区别 | 久久久精品久久久久久 | 2020最新久久久视精品爱| 久久久久成人精品无码| 奇米影视7777久久精品人人爽| 精品久久久久久久久午夜福利| 久久99国产精品成人欧美| 久久精品午夜一区二区福利| 久久人人超碰精品CAOPOREN| 人妻少妇久久中文字幕一区二区| 国产亚州精品女人久久久久久 | 亚洲精品无码久久久久久| 亚洲伊人久久大香线蕉苏妲己| 波多野结衣久久精品| 久久青青草原精品影院| 97精品伊人久久久大香线蕉| 久久久免费观成人影院| 狠狠干狠狠久久| 久久久久亚洲精品日久生情 | 久久精品国产WWW456C0M| 国产亚洲精品自在久久| 久久国产色av免费看| 性做久久久久久免费观看| 91亚洲国产成人久久精品| av无码久久久久不卡免费网站| 久久午夜夜伦鲁鲁片免费无码影视| 色偷偷888欧美精品久久久| 久久精品国产亚洲av麻豆色欲| 亚洲色婷婷综合久久| 久久99久久99精品免视看动漫| 亚洲伊人久久综合中文成人网| 欧美久久久久久精选9999| 久久久久亚洲AV无码专区桃色|