Visual C++項(xiàng)目都可以做什么
Visual Studio 2010還是比較常用的,于是我研究了一下Visual C++項(xiàng)目,在這里拿出來和大家分享一下,希望對大家有用。在上一回我們提到過,在以往的Visual Studio版本中,MSBuild不能很好地支持Visual C++項(xiàng)目,微軟轉(zhuǎn)而提供了一個(gè)替代的專門解決辦法:VCBuild。在Visual Studio 2010中,微軟終于改進(jìn)了這一點(diǎn),將VCBuild的眾多特有的功能集成到MSBuild中,并且使用MSBuild替代了VCBuild。雖然 VCBuild有很多針對Visual C++項(xiàng)目的實(shí)用功能,但是,新的MSBuild不僅繼承了這些功能,還提供了更多的新特性,吸引用戶升級到這一新的構(gòu)建平臺上來:#t#
◆診斷功能: MSBuild增強(qiáng)了它的診斷功能,以幫助用戶更加容易地發(fā)現(xiàn)和調(diào)試構(gòu)建錯(cuò)誤。例如,MSBuild可以幫助你決定如何以特定的順序編譯某些源文件,因?yàn)镸SBuild可以檢測這些文件之間的依賴性。
◆可擴(kuò)展性: 使用MSBuild,用戶可以為某些特定的平臺構(gòu)建不同的解決方案。另外,也可以在構(gòu)建過程中,使用不同版本的編譯器。連接器等,使得我們的解決方案更具擴(kuò)展性。
◆集成: 我們可以將我們的Visual C++項(xiàng)目添加到一個(gè)已經(jīng)存在的MSBuild環(huán)境中。例如,我們可以將一個(gè)新的Visual C++項(xiàng)目集成到一個(gè)已經(jīng)存在的MSBuild環(huán)境中,雖然這個(gè)MSBuild環(huán)境包含的是使用.NET Framework的Visual C#和Visual Basic項(xiàng)目。
Multi-Targeting曾經(jīng)作為Visual Studio的一個(gè)重要特性,受到微軟的大力推廣。因?yàn)樗沟谩耙淮尉幋a,多個(gè)平臺運(yùn)行”成為可能。這一特性給程序員們帶來了極大的便利,再也不用為目標(biāo)機(jī)器混亂的平臺而頭疼。但是在之前的Visual Studio中,Multi-Targeting特性只在托管語言中得到支持,可以針對不同的.NET Framework版本。現(xiàn)在在Visual Studio 2010中,隨著MSBuild的應(yīng)用,本地代碼的Multi-Targeting也成為可能。
在Visual Studio 2010中,我們可以選擇使用Visual Studio 2010的工具集還是Visual Studio 2008的工具集。當(dāng)我們因?yàn)橐恍┘嫒菪曰蛘呤瞧渌矫娴脑虿辉高^早地升級到Visual Studio 2010時(shí),我們可以利于Multi-Targeting特性,選擇使用Visual Studio 2008的Visual C++程序庫和編譯器,而同時(shí)使用Visual Studio 2010的IDE。這樣就實(shí)現(xiàn)了“魚與熊掌兼得”。當(dāng)我們最終決定升級到Visual Studio 2010的程序庫和編譯器時(shí),只需要在MSBuild或是項(xiàng)目屬性中做一個(gè)簡單的設(shè)置就可以了。