编译器支持

谷歌和苹果应用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 = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

使用Visual Studio将Objective-C编译C++的更多相关文章

  1. 使用Visual Studio Code开发(编译、调试)C++程序

    总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...

  2. 在 Visual Studio for Mac 中编译和生成

    使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Vi ...

  3. 调用Visual Studio的cl.exe编译C/C++程序

    @ 目录 调用Visual Studio的cl.exe编译C/C++程序 前言 1.查看VS的路径 2.添加环境变量 3.查看设置是否生效 4.配置Notepad++ 调用Visual Studio的 ...

  4. 微软发布VSBT,无需安装Visual Studio即可实现项目编译

    安装了Visual Studio的那些使用微软平台的开发者通常能够非常容易地操作自己的项目:打开解决方案,修改内容,设置好所有必须的文件以及配置后编译项目.但是在构建服务器或者持续交付系统等没有安装V ...

  5. 因GIT默认忽略.dll文件导致的Visual Studio项目通过Bamboo编译失败

    背景 由GIT管理的Visual Studio项目,使用Stash管理远端代码库,通过与Stash集成的Bamboo生成项目并发布 现象 Visual Studio项目本地生成成功,用SourceTr ...

  6. qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)

    不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是 ...

  7. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  8. visual studio code使用MSVC编译C++

    环境 OS::Microsoft Windows [Version 10.0.17134.285] x64 VSC:Version:1.27.2 (system setup) VS:2017 心血来潮 ...

  9. 在 Visual Studio中 将 Objective-C 编译为 C++

    快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中.   <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...

  10. Win 7 x64 + Visual Studio 2015为WinXP编译可执行程序

    造冰箱的大熊猫@cnblogs 2019/9/5 本文承接<Win7下使用Visual Studio为WinXP编译可执行文件>一文. - 在64位Win7(开发机)上,编写基于C的Win ...

随机推荐

  1. JavaEE Tutorials (11) - 使用Criteria API创建查询

    11.1Criteria和Metamodel API概述16811.2使用Metamodel API为实体类建模170 11.2.1使用元模型类17011.3使用Criteria API和Metamo ...

  2. C++模板:ST算法

    //初始化 void init_rmq(int n){ for(int i=0;i<n;i++)d[i][0]=a[i]; for(int j=1;(1<<j)<=n;j++) ...

  3. Sicily-1063

    一.题意 一个员工是另外一个员工的老板必须满足的条件是作为老板的员工的薪水salary必须大于这个员工,而且作为老板的员工的身高height要大于等于这个员工.首先按照薪水的多少从小到大进行排序,然后 ...

  4. leetcode第一刷_Construct Binary Tree from Inorder and Postorder Traversal

    这道题是为数不多的感觉在读本科的时候见过的问题. 人工构造的过程是如何呢.兴许遍历最后一个节点一定是整棵树的根节点.从中序遍历中查找到这个元素,就能够把树分为两颗子树,这个元素左側的递归构造左子树,右 ...

  5. 详细解说Android权限在安卓开发中

    android.permission.ACCESS_CHECKIN_PROPERTIES //允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.perm ...

  6. sql 和 nosql 说明

    在传统的数据库中, 数据库的格式是由表(table).行(row).字段(field)组成的.表有固定的结构,规定了每行有哪些字段,在创建时被定义,之后修改很困难.行的格式是相同的,由若干个固定的字段 ...

  7. Oracle更改数据库文件大小、实时增加文件容量

    --查询数据库文件路径.表空间.大小等 select * from dba_data_files ; --EAST.DBF数据库文件自动扩展20M,可无限扩展 alter database dataf ...

  8. Linux上MongoDB的安装与配置

    长话短说,一共有两种方法.(我随便选了一个发行版Mint) 一.apt-get方法 官网上说的很清楚: http://docs.mongodb.org/manual/tutorial/install- ...

  9. fedora21安装无线驱动

    来源:http://www.2cto.com/os/201202/120249.html 一.导入rpmfushion源,使用第三方yum 源: su -c 'yum localinstall --n ...

  10. wchar_t*和char*之间的互相转换的那些事

    最近在看一写PE文件格式的东西,想做一个读取PE文件信息的小工具,中间遇到将LPVOID格式无法转换到LPTSTR格式,强制转换屡试屡败,多显示乱码.我们知道LPVOID格式可以直接转换到char * ...