摘要:
Fatal Signal 31 error when upgrading android app from API 24 to 26 转载自 Stack Overflow ( upgrade - Fatal Signal 31 error when upgrading android app fro 阅读全文
摘要:
0.引言本人从进公司以来一直负责公司Android平台下产品的NDK开发,用的工具:01. Google的adt-bundle(集成了eclipse和sdk)02. NDK03. Cygwin(PS: 虽然比较新的ndk版本,好像是从 r7开始就已经可以不用Cygwin了, 但是本人从刚开始接触Android NDK开发时就用的是Cygwin,在Window操作系统下足够用了, 作为懒人,既不想折腾到Linux下,又对命令行的操作比较留恋,所以就这么一直用着。高手请勿见怪。)1. 穷今天在做一个小测试的程序的时候,使用 javah 命令,想看一下有关 javah 的详细帮助说明,突... 阅读全文
摘要:
一、LogCat 存储在一个叫做 circular memory buffers 的缓冲中。 平时常用的都是通过eclipse 自带的 logcat 插件查看 logcat ,其实也可以通过命令来导出 logcat ,以方便在某些特定的情况查看 logcat ,如下是个简单的用法命令:adb logcat -d > logcat.txt---------------------- 你看见或看不见,我都是个分割线 -------------------------二、参照网上查找的资料和自己前些时间的开发工作实践,(初步的探索,难免有浅陋之处,欢迎高手不吝赐教。)总结了一些logcat 高 阅读全文
摘要:
作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法。可是导入android源码后,基本都有错误,R.java也不会自动生成,因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果。在网上找到的各种解决方法,总结如下:1、选择菜单 Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目。 因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不 阅读全文
摘要:
(一)Linux 删除当前目录及子目录中所有某种类型的文件方法1 : 此方法不能处理目录中带空格的那些。rm -rf `find . -name "*.example"`Linux的文件名(目录也是一种文件)不建议带空格,命令行中不好处理这个空格。方法2:组合使用 find 及 xargs find test2/ -name '*.example' |xargs rm -rf(xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数。)即将 find 产生的输出(test2 目录下的所有 example 类型文件),作为 rm 阅读全文
摘要:
[0. 必须定义为类成员的操作符]赋值 =;下标 [];调用 ();成员访问箭头 ->;[1. 输入和输出操作符]支持 I/O 操作的类所提供的 I/O 操作接口,一般应该与标准库 iostream 为内置类型定义的接口相同,因此,许多类都需要重载输入和输出操作符。为了与 IO 标准库一致,操作符应接受 ostream& 作为第一个形参,对类类型 const 对象的引用作为第二个形参,并返回对 ostream 形参的引用。重载输出操作符一般的简单定义如下:// general skeleton of the overloaded output operatorostream&am 阅读全文
摘要:
复制控制是定义任意 C++ 类必不可少的部分。当定义一个新类型的时候,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么。以上这些是通过定义复制构造函数、赋值操作符和析构函数来达到的。如果没有显式定义复制构造函数或赋值操作符,编译器(通常)会为我们定义。复制构造函数,具有单个形参,该形参(常用 const 修饰)是对该类类型的引用。1) 当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数。2) 当将该类型的对象传递给函数或函数返回该类型的对象时,将隐式使用复制构造函数。析构函数:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。1) 析构函数可用 阅读全文
摘要:
设计具有指针成员的类时,类设计者必须首先需要决定的是该指针应提供什么行为。将一个指针复制到另一个指针时,两个指针指向同一对象。当两个指针指向同一对象时,可能使用任一指针改变基础对象。类似地,很可能一个指针删除了一对象时,另一指针的用户还认为基础对象仍然存在。指针成员默认具有与指针对象同样的行为。然而,通过不同的复制控制策略,可以为指针成员实现不同的行为。大多数 C++ 类采用以下三种方法之一管理指针成员:1. 指针成员采取常规指针型行为。这样的类具有指针的所有缺陷但无需特殊的复制控制。2. 类可以实现所谓的“智能指针”行为。指针所指向的对象是共享的,但类能够防止悬垂指针。3. 类采取值型行为。 阅读全文
摘要:
0. 复制构造函数只有单个形参,而且该形参是对本类类型对象的引用(常用 const 修饰),这样的构造函数称为复制构造函数。与默认构造函数一样,复制构造函数可由编译器隐式调用。复制构造函数可用于: 根据另一个同类型的对象显式或隐式初始化一个对象。 复制一个对象,将它作为实参传给一个函数。 从函数返回时复制一个对象。 初始化顺序容器中的元素。 根据元素初始化式列表初始化数组元素。对象的定义形式回忆一下,C++ 支持两种初始化形式:直接初始化和复制初始化。复制初始化使用 = 符号,而直接初始化将初始化式放在圆括号中。当用于类类型对象时,初始化的复制形式和直接形式有所不同:直接初始化直接调... 阅读全文
摘要:
0. 使用背景对于特定类类型的全体对象而言,访问一个全局对象有时是必要的。也许,在程序的任意点需要统计已创建的特定类类型对象的数量;或者,全局对象可能是指向类的错误处理例程的一个指针;或者,它是指向类类型对象的内在自由存储区的一个指针。然而,全局对象会破坏封装:对象需要支持特定类抽象的实现。如果对象是全局的,一般的用户代码就可以修改这个值。1. static 类成员类可以定义类 静态成员,而不是定义一个可普遍访问的全局对象。通常,非 static 数据成员存在于类类型的每个对象中。不像普通的数据成员,static 数据成员独立于该类的任意对象而存在;每个 static 数据成员是与类关联的对象 阅读全文