使用本地c/c++提升iOS性能之一

在本章中,你将会学到:

成都创新互联网络公司拥有10余年的成都网站开发建设经验,上千多家客户的共同信赖。提供做网站、成都做网站、网站开发、网站定制、卖友情链接、建网站、网站搭建、响应式网站设计、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

  • 集成c/c++代码到iPhone应用中的优缺点

  • c编程的基本概念

       1)数据类型

       2)指针

       3)内存管理

  • c++编程的基本概念

       1)类

       2)内存管理

       3)继承

       4)模板

  • 如何在一个实际的例子中使用SQLite(一个基于C语言API的数据库)

  • 如何集成c++和Object-c++到你的iPhone应用中

在本章,你会学习到底层的c/c++编程,这对于高性能应用是非常重要的。事实上Objective-C是C语言的超集,它同样是一门本地编程语言,但是Objective-C在C语言之上添加了一些包装,从而降低了性能。如果你接触过游戏和动画相关东西,你应该知道使用c/c++提供的OpenGL会有更好的性能。

c++同样被苹果所支持。大部分基本的应用不需要接触到c/c++代码;但是,当你的应用需要很好的性能时,你应该考虑这方面的问题。而且,你不需要编写很多的c/c++代码,但是你需要了解如何通过库正确的调用c/c++代码。你有可能需要修改开源库的源代码来满足你的要求。

因为Objective-C是C语言的超集,C语言中能做的事情,在Objective-C也能够做。他们在语法和新的概念上有所不同,但是在本章我都会涉及到这些。同样C++和Objective-C也有很多不同的概念,因此对你来说学习C++和C可能会比较困难。

实际上,Objective-C的概念是非常有限的,你在iPhone开发环境上看到的classes和supports都来自于Cocoa Touch。为了简单起见,我将使用Objective-C作为Objective-C和Cocoa Touch Frameworks的简称。

优点和缺点

在进入C/C++编程之前,我想快速的分析一下在iOS应用中使用C/C++代码的优缺点。

优点:

  • 已经有很多用c/c++编写的库,例如动画,音频库。这些库通常都是用c/c++编写的,因为这样有很高的性能和可移植性。

  • 你的应用想要移植到Android,而又不想耗费太多的精力。

  • 你可能想通过使用c/c++代码提高应用的性能

缺点:

  • c/c++和Objective-C的语法不同,把他们混在一起,使得代码比较难理解。

  • c/c++和Objective-C的内存管理机制不同,因此你必须小心内存泄露或应用崩溃的问题。

因此,了解了他们的优点和缺点,你就能够决定是否要在iPhone应用程序中集成c/c++代码。不管你是使用开源库还是自己编写代码,你都应该在这之前理解c/c++。出现的许多问题都是非常微妙的,以至于iPhone instruments并不能帮你太多。花费一个小时的时间很容易集成一个库 --- 但是往往要花费一整天的时间来修复其中的一个bug。

Objective-C已经是一门本地编程语言,因此如果你所有的代码都用c/c++来编写,其实你并不能得到更好的性能。但是,有很多用c/c++编写的高性能的库,你可以利用它们的优点,然后集成到你的应用中。


网页标题:使用本地c/c++提升iOS性能之一
文章源于:http://hbruida.cn/article/jsjish.html