2015-04-15 167 views

回答

0

答案是:它取決於。這不是真正的編譯器或系統特定的。例如,它也適用於Visual Studio。

基本上,這樣做不應該有任何問題(這是一個相當典型的情況)。

但是,重要的問題是,這兩個二進制文件之間傳遞了什麼樣的數據。

例如,如果所有字符串都作爲char *傳遞,那麼一切都很好。一旦你通過了std::string(或者只是一個指針或引用),那麼當兩個文件之間的實現發生改變時(例如不同的STL實現或只是改變了對齊),事情就會中斷。

對於其他的東西,甚至是你自己定製的結構和類也是如此。如果界面經過精心設計,應該沒有任何問題。如果界面沒有考慮這種情況,那麼你可能會遇到非常困難或幾乎不可能調試的問題(隨機崩潰,堆棧對齊問題等)。