摘要: 一般这个问题,就是头文件没有被包含。如果一个enum的声明是如下的: enum { kWhatFillThisBuffer = 'fill', kWhatDrainThisBuffer = 'drai', kWhatEOS = 'eos ', kWhatShutdownCompleted = 'scom', kWhatFlushCompleted = 'fcom', kWhatOutputFormatChanged = 'outC', ... 阅读全文
posted @ 2013-06-20 16:04 Colourman 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 可以看到,在这个接口类中定义了IMediaPlayerService需要提供的6个函数接口,因为是接口类,所以定义为纯虚函数。需要注意这个接口类的名称有严格要求,必须是以大写字母I开始。重点关注在这些函数前面的一个宏定义:DECLARE_META_INTERFACE(MediaPlayerService)。这个宏定义必须要有,其中封装了实现binder所需要的一些类成员变量和成员函数, 通过这些成员函数可以为一个binder实现创建proxy。这个宏定义在文件frameworks\base\include \utils\IInterface.h里,在后面还会讲到。这个宏定义的参数必须是接口类的 阅读全文
posted @ 2013-06-14 16:05 Colourman 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1 打下很多的log信息,然后确定是在哪出错2 打下函数进入和出来的参数地址和变量的值,然后对比,很可能会出错。查bug就是这么回事3 如果一个exe中不是有链接库,那么在非库的文件中,定义2个同名的全局变量一定会报错;但是如果一个test exe和一个库的2个全局变量同名,则不会报错,会生成exe,但是这个全局变量到底是用的是那个里面的,就不确定了。 阅读全文
posted @ 2012-07-13 10:29 Colourman 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 首先,所谓的configure虽然用的多,但是它也只是一个自动生成的东西,如果你打开这个东西一看,那真和天书差不多。我们下载下来的Linux开源工程,往往编译步骤是先执行命令./configure,检查是否符合编译条件,然后生成一个Makefile,才是make & make install。这个configure是一个自动生成的脚本文件,所用的工具是autoconf和automake,这两个工具,根据configure.in和makefile.am文件(可能还需要makefile.in吧,我不太清楚),生成configure。如果你拿到的开源代码有configure,那么肯定也有co 阅读全文
posted @ 2012-07-12 15:32 Colourman 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 在linux平台上,下载了个源码包,准备编译的时候,配置的时候 用到了configure脚本文件,其中有几参数--prefix=/home/soft/ 说明这个包产生的文件会安装到哪个路径下(一般先生成makefile,makefile会用到这个参数的),再make ,make install (把编译出的文件相当于拷贝到/home/soft 下)--build=i*86-linux 就是说这个源码包在哪个系统上面被编译,一般在pc上是x86的机器,--host=arm-linux 说明这个编译出来的exe是在哪个系统上运行的,一般交叉编译编译的时候,制定这项和build就够了。(如果在x86 阅读全文
posted @ 2012-07-12 15:30 Colourman 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一个好的参考:http://blog.csdn.net/yongzi123/article/details/4321756 阅读全文
posted @ 2012-07-10 11:16 Colourman 阅读(75) 评论(0) 推荐(0) 编辑