编译器支持

谷歌和苹果应用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. php 登录实例演示

    <pre name="code" class="python">一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主 ...

  2. Linux下安装VNC Server

    操作系统centos6.5,在其之上安装vnc server,可利用windows上的vnc client远程登录. 1. 安装 yum install tigervnc-server.x86_64 ...

  3. 增强Delphi.RemObject.DataAbstract的脚本功能:多数据库同时操作

    我们知道,通过Schema,一个DataAbstracService对应一个数据库:一个服务器可以包含多个DataAbstracService,从而实现对多个数据库的操作.通过事件处理我们可以在一个D ...

  4. uva311 - Packets(贪心)

    题目:311 - Packets 题目大意:给出1*1, 2*2,3 *3, 4*4, 5*5, 6*6的箱子的个数,如今有若干个6*6的箱子,问最少用多少个箱子能够将给定的箱子都装进去. 解题思路: ...

  5. python第三方模块

    python相关:1.zeromq网络库:2.twisted框架:twisted:一个基于事件驱动,异步的python高性能网络开发框架:注:什么是基于事件驱动:当(鼠标点击事件)事件注册器注入事件, ...

  6. HttpModule、HttpHandler和Page的生命周期

    1.引言 2.两个处理步骤 2.1.创建ASP.NET环境 2.2.用触发的MHPM事件处理请求 3.什么事件中应该做什么 4.示例代码 5.深入ASP.NET页面事件 1.引言 这篇文章我们将试图理 ...

  7. JDBC初步(一)

    import java.sql.*; public class TestJDBC { // orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库 // 1521 ...

  8. C# Best Practices - Building Good Classes

    Building a Class The last four refer as members Signature Accessiblity modifier (Default:internal) c ...

  9. BZOJ 2015: [Usaco2010 Feb]Chocolate Giving( 最短路 )

    裸最短路.. ------------------------------------------------------------------------------------ #include ...

  10. 如何优化你的JS脚本来减少reflow/repaint?

    如何优化你的脚本来减少reflow/repaint?1. 避免在document上直接进行频繁的DOM操作,如果确实需要可以采用off-document的方式进行,具体的方法包括但不完全包括以下几种: ...