温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-12 17:51:53 来源:网络 阅读:1283 作者:iKingLai 栏目:移动开发

在本章中,你将会学到:

  • 集成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++编写的高性能的库,你可以利用它们的优点,然后集成到你的应用中。




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI