在本章中,你将会学到:
集成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++编写的高性能的库,你可以利用它们的优点,然后集成到你的应用中。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。