在我的公司,我們最近從VC9切換到VC10。混合運行時可行的解決方案?
我們遷移了我們的項目,但是負責人告訴我們,我們必須在生產計算機上保留一些用VC9編譯的基本常見DLL。
這些DLL使用自定義結構,其中一些包含std::vector
,std::map
等。現在,我注意到標準容器的尺寸發生了變化:有些變大了,有些變小了。因此,我們的自定義結構的大小也發生了變化。
爲了解決由尺寸變化引起的問題,我的一位同事想到了人爲地增加了結構的尺寸,以便能夠補償將來的構件尺寸變化,以便結構保持相同的尺寸,無論運行時間如何使用,防止函數調用堆棧損壞。
就我個人而言,我覺得這個「解決方案」是可怕的,因爲雖然尺寸很重要,但結構的佈局也是如此。對我而言,增加所有結構的內存佔用來解決組織問題似乎是錯誤的。
爲了簡短起見,我的問題是:在函數原型中使用非C類型時,是否可以同時使用兩個不同的運行時(使用所描述的技巧或任何其他技巧)?對於類似的情況,你有沒有好的/不好的經歷?
'1.'不是一個選項,但'2.'確實可以。非常感謝你的鏈接文章。 – ereOn 2012-01-16 09:04:18
@ereOn:不客氣。 – 2012-01-16 09:08:20