所以我有一個項目,我一直在編譯蘋果darwin11-llvm-g ++ - 4.2編譯器。該項目將在RedHat linux上使用GCC 4.4.5進行編譯,但運行時會出現一些非常奇怪的事情。沒有運行時錯誤,但程序輸出完全不同。RedHat上GCC 4.4.5的運行時問題,但在Apple llvm 4.2上正常工作?
我對GDB非常糟糕,所以我需要在今晚的午夜之前將這個項目提交給學校。任何人都可能會提出一些可能會導致這個問題的東西嗎?也許這兩個編譯器之間的某些已知的差異可能會讓我看到某個地方?
我意識到這是非常模糊的,我正在學習使用gdb,所以我可以弄清楚發生了什麼。
您是否收到編譯器警告? – Pubby
如果程序輸出不相同,那麼很可能是您濫用了該語言並導致了未定義的行爲。這在編譯器中是不太可能的。你在使用之前是否初始化了所有變量?你是否在界限內正確地分配和使用內存?函數中的變量是否已初始化爲默認值? –
都是64位版本嗎?你有沒有嘗試過靜態分析儀? –