用Visual Studio將Objective-C編譯為C++
編譯器支援
谷歌和蘋果公司都使用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
相關文章
- 將編譯過的C++庫迅速部署在Visual Studio新專案中編譯C++
- 呼叫Visual Studio的cl.exe編譯C/C++程式編譯C++
- Visual Studio 2022 靜態庫編譯編譯
- Web編譯器Visual Studio擴充套件Web編譯套件
- C# 編譯器選項(Visual Studio配置)C#編譯
- 將C++編譯為Flash可用的swcC++編譯
- 【譯】Database Profiling with Visual StudioDatabase
- gRPC cmake Visual Studio編譯安裝 (全命令列)RPC編譯命令列
- protobuf cmake Visual Studio 編譯安裝 (全命令列)編譯命令列
- 【譯】Visual Studio 的 Razor 編輯器的改進
- Windows下Visual Studio 2013編譯Lua 5.1.4版本Windows編譯
- Use any C++ Compiler with Visual StudioC++Compile
- VISUAL-STUDIO(2022)-透過Visual Studio Installer新增C++工作負載C++負載
- windows下基於cmake配置opencv並使用visual studio編譯WindowsOpenCV編譯
- 將Visual Studio Code的介面語言設為中文
- 【譯】New experimental Razor editor for Visual Studio
- visual studio連線linux編碼Linux
- 20200115 - Visual Studio Code 編輯器
- 專為 Laravel 定製的 Visual Studio Code 編輯器Laravel
- 將 Visual Studio .net 程式碼註釋 英文轉為中文
- Visual Studio 2022即將釋出!
- 【譯】Visual Studio 2019 的 Local Process with Kubernetes
- 【譯】Visual Studio 2022 - 17.10 效能增強
- 【譯】使 Visual Studio 更加視覺化視覺化
- visual studio原生支援C++的含義C++
- Visual Studio C++ 安裝以及使用教程C++
- 【譯】使用 .NET Aspire 和 Visual Studio 開發雲原生應用
- 使用Visual Studio Code編寫和啟用ABAP程式碼 (上)
- 【譯】Visual Studio 2022 - 17.8 的效能改進
- 【譯】使用 Visual Studio 除錯外部原始碼除錯原始碼
- Visual Studio部署C++環境下OpenCV庫C++OpenCV
- visual studio 2010 實用快捷鍵
- Visual Studio Code (vscode) 配置C、C++環境/編寫執行C、C++(Windows)【真正的小白版】VSCodeC++Windows
- 【譯】如何在 Visual Studio 中安裝 GitHub CopilotGithub
- 利用Visual Studio除錯WSL下的C++工程除錯C++
- 無需離開 Visual Studio 即可編寫 Markdown
- 將 Rust 程式碼編譯為 WASMRust編譯ASM
- 將Java編譯為原生程式碼Java編譯
- 用 Visual Studio 升級 .NET 專案