当心在Lib中定义非const全局变量
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                当心在Lib中定义非const全局变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                當心在Lib中定義非const全局變量
Posted on 2011-08-15 16:33 單魚游弋 閱讀(306) 評論(0) 編輯 收藏一般我們在全局作用域定義全局變量來進行模塊間(函數之間、類之間)的數據交互。可是在Lib里干這種事情得當心了,如果這個Lib被兩個或兩個以上的DLL(包括EXE)鏈接,并且他們都調用了Lib中同一個全局變量,那么災難很可能發生了。因為對于DLL而言,鏈接Lib只是得到了Lib的一份拷貝,也就是說,每個DLL中得到的Lib的拷貝都是獨立的,相互之間無聯系的。因此,這個“同一個”全局變量,其實在每個DLL中都已經單獨存在了,已經不是唯一的“同一個”,而是每個DLL各有一個。所以,這些DLL是不能通過Lib中的全局變量進行數據交互的,他們各不相干。
總結
以上是生活随笔為你收集整理的当心在Lib中定义非const全局变量的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 关于模板函数/模板类编译成DLL
- 下一篇: 让VC编译的Release版本程序在其他
