用Visual Studio將Objective-C編譯為C++

來源:互聯網
上載者:User

標籤:微軟   objective   c++   ios   windows   

編譯器支援

Google和蘋果公司都使用Clang作為它們的C++前段。為了使他們的代碼運行在Windows上,微軟不得不將Visual C++的後端C2和Clang結合起來。

(Clang是一個C語言、C++、Objective-C、Objective-C++語言的輕量級編譯器,原始碼發佈於BSD協議下。譯者注)

IDE支援

在Visual Studio中Objective-C具有文法高亮、程式碼完成和調試支援等功能。C++和C#檔案可以包含在同一個項目中,允許程式來直接跨地區進行調用。編譯器將處理所有的細節所以開發人員只是看到正常的函數調用的封裝處理。

大多數Objective-C項目都作為XCode項目而開始,所以Visual Studio提供了匯入該項目類型的能力。VS和XCode專案檔可以存在於同一個項目中,這樣你就可以在兩種IDE對同一個項目進行開發。

混合模式項目

Windows提供了新的API給Objective-C,例如動態磚。為了確保代碼可以繼續在這兩個平台之間共用,微軟提供運行時檢查來查看Windows API是否可以給很好的調用。或者,你可以使用前置處理器指令從共用程式碼中將特定平台的代碼隔離出來。

運行時行為

預設情況下Windows下的Objective-C運行庫檢測到應用程式的原始平台來確定它的行為。例如,如果你提供一個iPhone應用程式然後它將預設在一個狹窄的視窗中運行,而iPad應用程式運行在一個正常的視窗中。

所有這些行為可由應用程式在需要時進行重寫。

iOS API 相容性

Windows 10支援iOS API的子集。它不會跟蹤特定版本的iOS,但相反在標準中查看哪些APIs經常被使用。對於第一個版本,微軟主要關注的APIs包括如下:

遊戲:OpenGL,OpenAL以及感應器
UI:UIKit,CooreAnimation,CoreGraphics,CoreText,Touch
Objective-C:ARC,Blocks,Foundation

一些類如共用、通知和StoreKit的特性,開發人員需要在保留iOS APIs以及使用Windows的替代方案之間進行選擇。如果你選擇保留iOS APIs,Windows將會提供一個相容性層,這樣的APIs將能夠開始運作。而選擇Windows的替代方案的好處在於你可以使用Windows的進階功能。

Swift

微軟對於Swift的官方立場是“此時不做評論”。大概也就是說他們想要支援Swift但是目前太忙了,還要繼續為Objective-C做準備,而秋天也許會宣布關於Swift的訊息。

感謝您的訪問,希望對您有所協助。 歡迎大家關注、收藏以及評論。

為使本文得到斧正和提問,轉載請註明出處:
http://blog.csdn.net/nomasp

用Visual Studio將Objective-C編譯為C++

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.