使用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
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
使用Visual Studio将Objective-C编译C++的更多相关文章
- 使用Visual Studio Code开发(编译、调试)C++程序
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...
- 在 Visual Studio for Mac 中编译和生成
使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Vi ...
- 调用Visual Studio的cl.exe编译C/C++程序
@ 目录 调用Visual Studio的cl.exe编译C/C++程序 前言 1.查看VS的路径 2.添加环境变量 3.查看设置是否生效 4.配置Notepad++ 调用Visual Studio的 ...
- 微软发布VSBT,无需安装Visual Studio即可实现项目编译
安装了Visual Studio的那些使用微软平台的开发者通常能够非常容易地操作自己的项目:打开解决方案,修改内容,设置好所有必须的文件以及配置后编译项目.但是在构建服务器或者持续交付系统等没有安装V ...
- 因GIT默认忽略.dll文件导致的Visual Studio项目通过Bamboo编译失败
背景 由GIT管理的Visual Studio项目,使用Stash管理远端代码库,通过与Stash集成的Bamboo生成项目并发布 现象 Visual Studio项目本地生成成功,用SourceTr ...
- qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)
不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是 ...
- Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试
由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...
- visual studio code使用MSVC编译C++
环境 OS::Microsoft Windows [Version 10.0.17134.285] x64 VSC:Version:1.27.2 (system setup) VS:2017 心血来潮 ...
- 在 Visual Studio中 将 Objective-C 编译为 C++
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- Win 7 x64 + Visual Studio 2015为WinXP编译可执行程序
造冰箱的大熊猫@cnblogs 2019/9/5 本文承接<Win7下使用Visual Studio为WinXP编译可执行文件>一文. - 在64位Win7(开发机)上,编写基于C的Win ...
随机推荐
- HDU 2815 Mod Tree
不会,先搁着…… http://blog.csdn.net/acm_cxlove/article/details/7832197
- Pascal向C++的跨越
最近从pas转向了C++,觉得需要在语言上总结对比一下,以及记录一些注意点,关于STL,还需要之后好好地学习.同时,希望这篇文章对从pas转C++的同学有所帮助. 基本类型 首先是基本类型的比较: P ...
- dojo 学习笔记
1 因为Dijit包括了一系列的UI组件,他绑定了4个支持的主题:nihilo, soria, tundra 和claro.每个主题包括了一系列的图片和CSS文件来控制组件的外观.CSS文件必须显示 ...
- 笔试题:金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出
收集这道题目原因是以前做过,但是实现的很麻烦,这次看到别人写的感觉简单易懂. 从一个pdf看到,出处就不贴了 = .= public class RenMingBi { private static ...
- selenium - Headless Browser and scraping - solutions - Stack Overflow
yum install pygtk2-devel selenium - Headless Browser and scraping - solutions - Stack Overflow Hea ...
- AndroidStudio 0.2.x 引入多模块Eclipse项目
!!!!太他妈的累人了!整整折腾了两天!!!!!!! 不知从那个版本开始ImportModule... 从AndroidStudio的File菜单中消失了,在0.2之前的版本作为library的模块可 ...
- PeopleEditor的取值及赋值
/// <summary> /// 从PeopleEditor取值 /// </summary> /// <param name="peopleEditor&q ...
- codeforces 559A(Gerald's Hexagon)
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Gera ...
- 「OC」block 和 protocol
一.block (一)简介 block 是什么?苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,block 可以在任何时候执行.在多线程.异步任务.集合遍历.集合排序.动 ...
- Java中 hashCode()方法详解
先来看下Object源码里hashcode方法: /** * Returns a hash code value for the object. This method is * s ...