我已經安裝了cygwin並使用它在Windows上編程C++。編譯C++代碼以在Windows和Linux中表現相同
我更喜歡在Windows中編寫我的代碼(這些是分配),但代碼也需要能夠在Linux上運行。雖然代碼在大多數情況下很好地運行,但似乎在Windows上有一些工作,但會在Linux上導致段錯誤(例如引用未初始化的變量和指針)。我不明白爲什麼代碼在前者中工作失敗(或爲什麼他們不這樣做)爲什麼代碼在前者中失效(或者爲什麼他們不這樣做)只是表現得一樣)。如何讓我的代碼在兩者中表現完全相同?這甚至有可能嗎?
雖然我是C++ noob,但我沒有使用任何特定於Windows的庫,所以我可能會誤解簡單/重要的內容。最後,我知道使用未初始化的變量和指針是不好的 - 我想在Windows中使用它們的原因分段錯誤。
未定義的行爲最有可能 - 你在兩個方面都做錯了,但它只在一個上崩潰。如果你寫了正確的代碼,它應該工作。發佈崩潰的確切代碼。 –