此前的代码混淆,因为并没有用到反射,所以常规的代码混淆方式一遍就能通过,而此项目中某些类利用到了反射机制(本人的这个项目中有即时通讯功能,所以有表情类资源,因此需要通过反射由文件名找到表情资源id),当由文件名去寻找资源id时就报空指针异常了,期初我并不知道什么原因,通过反编译已经混淆的apk,一步一步寻找到出错的地方,才恍然大悟,正是反射那一步出现了问题:Field field = R.draw...
分类:
移动开发 时间:
2014-08-22 12:58:08
阅读次数:
2191
指针和引用的区别:
1.指针可以为空,引用不可以为空。
2.指针初始化后可以重新指向新对象,引用初始化以为不可以重新绑定新对象,
3.指针可以在初始化时赋值,可以初始化以后通过赋值运算符(=)赋值;引用只能在初始化时赋值。
4.指针是个实体(占内存4byte),引用只是个别名(不占内存)
5.指针sizeof是4byte,引用sizeof是绑定对象的大小。
6.指针是类型安全,引用...
分类:
其他好文 时间:
2014-08-21 19:25:54
阅读次数:
171
按照书上的说法,引入头结点有一下两个优点:
由于开始结点的位置被存放在头结点的指针域中,所以在链表的第一个位置上的操作和在表的其他位置上的操作一致,无须进行特殊处理。
无论链表是否为空,其头指针是指向头结点的非空指针,因此空表和非空表的处理也就一致了。
你可能会疑惑:难道非得要头指针吗?难道没有头结点,插入、删除、空表的处理就不一致了吗?(貌似有一些同学和我有同样的疑问)...
分类:
其他好文 时间:
2014-08-16 22:33:51
阅读次数:
300
#include
using namespace std;
class B {
public:
void foo() { cout << "B foo " << endl; }
void pp() { cout << "B pp" << endl; }
void FunctionB() { cout << "funB" << endl; }
};
int main(...
分类:
其他好文 时间:
2014-08-14 14:17:38
阅读次数:
266
背景:目前iOS工程较多将json数据转换成一个对象来储存。假设这个对象有一个Attributes为NSString类型叫myName,这个Attributes一直是nil,创建这对象后忘记对它赋值。现在要通过一个函数来检测他出来,再将他赋值为@“”;
另外,我不知道有多少个Attributes,只要是NSString类型而且Attributes是nil就赋值为@“”。
代...
分类:
其他好文 时间:
2014-08-13 19:08:47
阅读次数:
242
malloc函数原型:extern void *malloc(unsigned int num_bytes);用法:#include 功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释...
分类:
其他好文 时间:
2014-08-13 14:22:46
阅读次数:
242
1.&和&&if(str !=null& !str.equals("")){ System.out.println("ok"); }//抛空指针异常if(str !=null&& !str.equals("")){ System.out.println("ok"); }//正常编译&还可以用作位运算...
分类:
编程语言 时间:
2014-08-13 12:51:36
阅读次数:
321
一、什么是空指针和野指针1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。下面两个都是空指针:1 Student *s1 = NULL;2 3 Student *s2 = nil;2.野指针"野指针"不是NULL...
分类:
其他好文 时间:
2014-08-12 16:57:14
阅读次数:
223
AC自动机
1。指针p。指向当前已匹配的字符。若p指向root,则当前匹配的字符序列为空
2。指针p->fail。指向与p有相同字符的节点,即p的失配指针。
3。指针temp。
1.构造Trie
2.构造失败指针:
设该节点的字母为c,沿着它的父亲的失败指针走,直到某个节点的儿子的字母存在c,那么就将这个节 ...
分类:
其他好文 时间:
2014-08-10 13:06:50
阅读次数:
184
/**
* 功能:空指针各种
* 时间:2014年8月10日11:00:40
* 作者:cutter_point
*/
#include
using namespace std;
int main()
{
void* vp;
char c='c';
int i=1;
float f=2.0;
double d=9.7;
vp=&c;
...
分类:
编程语言 时间:
2014-08-10 13:05:20
阅读次数:
231