簡體   English   中英

從Visual Studio 2012編譯為g ++?

[英]Compiling from Visual Studio 2012 to g++?

我有一個在Visual Studio 2012中編譯的c ++程序。它包含boost庫。 現在,我想使用g ++編譯器編譯它。 我必須注意哪些事情? 最有可能在隨機的地方默默地破壞我的代碼的事情。

例如,我總是假設long 4字節購買g ++將其視為8字節。 僅此一點,我需要做一些改變。

什么版本的gcc使用,4.7.3,4.6.4或4.8.2?

如果你在沒有使用特定庫的情況下編寫有效且優秀的C ++代碼,那么你應該什么都不知道。

你需要記住的一些事情。 這個列表並不全面,但是當我閱讀你的問題時,這些是我最重要的事情。

  1. pragma once:使用g ++時,你應該使用#ifndef,#define和#endif guards來包含文件。

  2. 標題包含:VS 2012非常寬松,並且在包含標題時不會對正向或反向斜杠大驚小怪。 g ++將嚴格執行它們。

  3. 如果您使用的是Win32線程/互斥鎖,最好轉移到std :: thread。 如果你使用boost進行線程,你可以。

您可以使用和逃脫的gcc版本取決於您對C ++ 11功能的使用。 gcc在實現C ++ 11功能方面始終領先於Microsoft,你也可以使用舊版本的gcc。 除非我理解你在代碼中使用的c ++ 11功能,否則我無法回答這個問題。 可以肯定地說,更新版本的gcc肯定會支持Vs 2012中提供的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM