在安卓手机上学习C语言
安卓手机C/C++编译环境的搭建 : 程序世界的创建
在电脑上运行的QQ,手机上的QQ都是程序, 这些通电就能用的神奇玩意, 如果我说它们都是程序员用一个一个英文字母,数字,奇奇怪怪的符号创造出来的,我想那些没有任何概念的朋友可能会感到惊讶.
是的, 在没有揭开程序世界的神秘面纱之前, 一切都是那么神奇.
实际上, 程序确实是用一个一个英文字母(或者说拼音字母...)来写出来的, 就和写小说一样写出来的. 但是并不是写完之后把写出来的内容保存到一个文件,然后把文件名一改就能够当软件使用了. 程序员们写出来的程序并不是给人看的, 是给装在电脑上,手机上的一个叫做CPU的硬件看的. 简单来说, 程序员写的文字就是命令, 是发布给CPU的, 让CPU干什么, CPU就干什么,比如让CPU在屏幕就会显示什么一个图片,显示一个按钮之类的. 不过遗憾的是, CPU是一个电子产品, 并不能识别出英文字母,数字,和一些和鬼画符差不多的符号.
CPU只识别0和1 , 要给CPU发布命令就要用CPU能识别的语言 , 在CPU的语言中, 所有的文字只有两个 0 和 1 . 是不是很奇怪, 是不是想破脑袋都想不出来两个数字所组成的语言究竟是怎么做出一件件惊天动地的大事的.
保持你的探索欲, 你可以在这篇文章之外尽情的搜索补充这方面的知识.
现在你只需要知道, CPU使用的这门语言叫做机器语言, 是非常晦涩难懂的. 在很早很早以前,程序员的上仙们就是用这套晦涩难懂的咒语让CPU进行工作的.
在这种情况下, 需要先把发给CPU的命令用我们人类的语言写下来, 然后在一个一个翻译成CPU能识别的机器语言, 然后交给CPU去执行. 这样的工作是非常麻烦的. 后来程序员上仙们发明了一个法宝--翻译软件 , 这个法宝能够将程序员上仙们能看够看懂的但CPU看不懂的文字翻译成CPU看得懂的机器语言.
由于人类的语言太啰嗦,太复杂, 上仙们在制作翻译软件这个法宝的时候用的还是机器语言制作的, 而且这些上仙都是外国的上仙, 所以这种翻译软件只能翻译一些特定的英文字母,数字. 要是将其他文字,其他英文字母输入给这个翻译软件, 翻译软件就算被打死也翻译不了.于是程序员上仙们就把这个翻译软件能够翻译的文字叫做汇编语言.
在汇编语言面世之后的一段时间, 程序世界发生了翻天覆地的变化. 后来在美国出现了一些天资聪慧,法力高强的上仙, 他们在汇编语言的基础之上有创造出了一些更厉害的语言, 这些语言能够识别出更多的文字.
于是在编程世界中, 上仙们把机器语言和汇编语言划分到低级语言这一类, 后来出现的语言被划分到高级语言一类.
我们所要学的C语言就是高级语言中的一个.
C语言是一个出生在美国的上仙丹尼斯·里奇发明的, 这位上仙高强得令人发指, 他被称为C语言之父,UNIX之父. 当今的很多语言都受到他所发明的C语言的影响.
回归正题, 我们要写的程序, 就是用C语言来完成的.
我们以后写出的C语言程序会经过一些翻译软件来翻译成机器语言.( 它先被翻译成汇编语言, 然后再翻译成机器语言).
而在这里, 我们要做的就是把这些翻译软件安装好.
C语言的翻译软件叫做gcc. 这是一个集成了C翻译成汇编,汇编翻译成机器语言的神器.这种把C语言翻译成机器语言的神器叫做编译器.
在程序世界中, 有不少的门派, 微软(MicroSoft)公司是一个门派, Unix和Linux是一个门派.在不同的门派中使用的编译器是不相同的, 微软公司的编译器不能再Unix和Linux上使用, 就像你把电脑上一个可以运行起来的软件复制到安卓手机上运行不起来一样.
我们在这里使用的gcc 是Linux门派下的编译软件, 本来这种软件只能在Linux门派的系统(Linux系统)上才能够使用的, 在安卓上也是用不了的,而安卓上没有能够直接运行起来的编译器, 但有一些非常厉害的高手把Linux系统改造成可以在安卓上运行, 所以, 我们需要在安卓上运行Linux系统, 然后在Linux系统上运行编译器, 把我们写出来的程序交给编译器翻译.
下面正式进入主题:
第一步:
首先 , 你的手机需要获取root权限. 如果不知道如何获取, 可以到电脑上搜索一下安卓手机root教程. 不同品牌的手机root的方法不同. 也可以到机锋论坛上寻找root的具体方法.
第二步:
下载一个软件: Complete Linux
链接地址:
http://heanet.dl.sourceforge.net/project/linuxonandroid/App/Complete%20Linux%20Installer%20v2-8.apk
下载完成之后安装它.
安装完成,打开软件后会出现第一次启动 ,然后需要安装引导脚本和busybox的提示, 点OK继续
如果没有出现这样的提示, 那么证明这个软件没安装好, 可以在设置 – 应用程序 找到这个软件, 然后 清除数据, 之后重新打开这个软件应该就能够出现这个提示了, 如果还是不提示,可能是你手上的手机有点问题.
第三步:
这个软甲安装完之后, 还需要下载一个文件 , 这个文件就是Linux系统(Ubuntu发行版的Linux系统), 下面是链接:
如果链接失效,请在http://linuxonandroid.org/downloads 寻找.
文件下载完之后, 由于是压缩包文件, 需要将这个压缩包解压. 在这里推荐一个安卓上的解压软件: Zarchiver , 可以把压缩包中的文件解压到任意目录, 但目录最后不要带有中文字符.
第四步:
解压完之后, 在下载一个软件 : 终端模拟器. 这个软件是用来进入Linux系统的.
链接: http://pan.baidu.com/s/1kU7UCkf
下载完之后直接安装.
第五步:
安装完终端模拟器之后回到Complete Linux软件中.
点击软件得左上角 -> 点击启动系统 , 会出现下图所示的界面,
然后点击右上角的SETTING(设置的意思), 然后点击编辑.
然后手机会出现另外一个界面:
完成之后点保存更改.
然后点击启动Linux
一般情况下会出现要求获取Root权限的界面 , 如果没有,证明你的手机没有获取root权限, 那么你就要回到第一步获取root获取权限, 如果有, 就允许获取.
如果成功的话, 软件就会自动启动Linux系统.
系统初次启动时, 需要进行一些配置,
输入n后回车.
在输入密码时, 是不会有字符显示出来的, 所以不用紧张,你手机没有坏掉.密码输入完之后回车就可以了.
如果碰到Start VNC server? (y/n) 和 Start SSH server? (y/n) 时 , 可以输入n然后回车.
如果碰到Save settings as default (y/n) (You can always change it later in the app)时, 输入y,然后回车.
最后一步:
当最后有 [email protected]:~# 出现时, 就证明你成功了. 如果暂时不想使用Linux系统了, 你需要输入 exit 命令,然后回车. 要不然你下次可能进入不了Linux系统, 直到你重启之后才能进入.
初次启动Linux系统, 上面基本没有什么软件 ,我们要使用到的编译器也还没安装. 所以还需要安装编译器. 安装编译器可以通过命令来进行操作(因为这没有图形界面, 所以只能靠输入命令来进行操作了.)
首先, 需要更新系统,否则无法安装软件:
输入命令: sudo apt-get update
回车之后, 系统会自动下载一些文件, 可能需要比较长的时间. 在没有下载完的时候, 你是不可以再继续输入命令的.
当下载完成之后, 就可以下载安装gcc编译器了,
输入命令: sudo apt-get install g++
回车之后, 系统会自动下载g++编译器(就把他理解成gcc的升级版好了), 可能在下载的时候回停下来提示问你是否真的要下载 一般会提示 (y/n) ,输入y 然后回车就好了.
完成之后(当你能又能输入命令之后), 你需要输入 g++ 然后回车
如果显示的是 bash: g++: command not found
那么说明你没有安装成功 , 你需要重新执行命令: sudo apt-get update, 然后执行 sudo apt-get install g++
可能前面的两三次都会失败, 多试试几次就好了.
这一章就到这里了.