C中的运算符优先级和结合性(*p++)

优先级和结合性 优先级是用来标识运算符在表达式中的运算顺序的,在求解表达式的值的时候,总是先按运算符的优先次序由高到低进行操作。但是,当一个运算对象两侧的运算符的优先级别相同时,则按运算符的结合性来确定表达式的运算顺序。 结合性是指同一优先级的运算符在表达式中操作的组织方向,即:当一个运算对象两...

2019-06-06 15:19:00

阅读数 21

评论数 0

c 语言 同步与阻塞的区别

1,同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 2,异步: 异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果,但也不会等待结果,函数会立即返回。实际处理这个调用结果是在完成后,通...

2019-05-30 10:10:22

阅读数 58

评论数 0

c 语言 获取字符串的所占内存大小

size_t my_strlen(const char *str) { char *s = (char *)str; while (*s++ ){ // 由于++与*号优先级相同 所以按自右至左执行 等价于 *(s++)--> *(s= s+1) //使s的内存指...

2019-05-29 16:01:03

阅读数 80

评论数 0

字符串的引用和初始化

字符串常量可以赋值给一个字符指针或者一个字符数组,比如: /*1*/char *str = “this is a string”; /*2*/char str2[]= “this is a string”; /*3*/char str3[100] = “this is a string”; ...

2019-05-29 10:54:34

阅读数 11

评论数 0

c语言指针的存储大小

指针是C语言中的精华。指针其实就是一个变量,和其他类型的变量一样。在32位机器上,它是一个占用四字节的变量,在64位机器上,他是一个8字节,它与其他变量的不同就在于它的值是一个内存地址,指向内存的某一个地方。即指针是一种存放另一个变量的地址的变量。 ...

2019-05-28 12:02:54

阅读数 127

评论数 0

android 下v1和v2签名的区别

v1 兼容所有版本 7.0以上不安全 v1签名有RSA和SF非对称加密文件 v2 7.0以上可以用,7.0以下装不上 v2没有非对称加密文件 v1+v2 都兼容 ...

2019-05-06 17:24:00

阅读数 61

评论数 0

阿里云jcenter镜像

maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }

2019-04-17 17:53:52

阅读数 195

评论数 0

adb backup 漏洞

Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过ad...

2019-03-12 17:19:23

阅读数 240

评论数 0

smali const函数的测试

const/4 表示半个字节,四位 ,范围在 -8 ~7 之间 const/16 表示两个字节 ,16位 范围在 -32768~32767之间 const代表四个字节,32位 范围在-2147483648~2147483647之间 事实证明应该是davik虚拟机在解析dex文件的时候根据in...

2019-03-11 16:34:56

阅读数 123

评论数 0

smali 语句invoke 详解

invoke-static 是类静态方法的调用,编译时,静态确定的; invoke-virtual 虚方法调用,调用的方法运行时确认实际调用,和实例引用的实际对象有关,动态确认的,一般是带有修饰符protected或public的方法; invoke-direct 没有被覆盖方法的调用,即不用...

2019-03-10 20:54:34

阅读数 339

评论数 0

简单小游戏雷电逆战的破解

今天逆向下雷电逆战这个游戏,首先找到游戏的支付页面,先测试支付下,回调回来的结果是支付失败,接下来 我们打开ddms,将logcat做下过滤,在application name 下将此应用的包名设置为过滤符 可以看到,在回调支付失败的同时,打印了 一下信息,提示购买道具失败。 ...

2019-02-22 13:04:37

阅读数 119

评论数 0

Android studio动态调试smali

用到的工具 ①Android Studio最新版。 ②apktool尽量使用最新版的。 ③ideasmali插件。下载地址https://github.com/JesusFreke/smali/wiki/smalidea 首先第一步需要在as里面安装ideasmali的插件   装完重...

2019-02-21 14:42:19

阅读数 148

评论数 0

static变量与App状态缓存

App启动,static变量装载过程 启动App OS开启新Process进程并分配进程ID(PID)及进程表 进程启动DVM实例(Dalvik VM,沙箱模式,每个App均运行在各自DVM内) DVM负责管理class类的装载、卸载、类实例的生命周期、GC回收等过程 class类装载到...

2018-12-07 15:55:22

阅读数 62

评论数 0

android 尽量不要使用static静态变量

使用静态static静态变量潜在性问题: 1.占用内存,并且内存一般不会释放; 2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误。 3.不能将activity作为static静态对象,这样使activity的所有组件对象都存入全局内存中,并且不会被回收;  (转自:...

2018-12-07 15:53:56

阅读数 663

评论数 0

关于=null和clear() 问题(Java性能篇)

以ArrayList为例,根据情况来看吧,ArrayList内部维护的是一个数组。 1. list = null     那么你list = null; 就是释放这个数组对象,当然里面所引用的对象也就释放了。 2. list.clear()     如果list.clear(); 看看源代码...

2018-10-18 14:59:27

阅读数 42

评论数 0

android 7.0 静默安装实现方式源码解析

第一种方法:通过 getPackageManager()拿到系统的packageManager对象。通过packagemanger类去直接反射调用installPackage方法就行。输入相应的参数。Invoke调用方法。就能实现了。具体方法如图。 其实反射调用了packageManag...

2018-07-24 11:05:52

阅读数 597

评论数 0

android下常用静默安装方式

简单说下已知的有三种。第一种前提是root过的系统。执行shell 命令su 超级用户权限进行 pm install 路径。apk进行静默安装。 第二种是集成到rom 的具有system权限的app。通过将清单文件加入 android:sharedUserId="android...

2018-07-20 16:00:34

阅读数 130

评论数 0

Java算法给定一个整数数组,找出其中两个数相加等于目标值

给定一个整数数组,找出其中两个数相加等于目标值 例如:给定数组及目标值 nums = [2,7,11,15] ,target = 9 因为nums[0] + nums[1] = 2 + 7 = 9 返回[0,1]/** * 使用辅助空间(使用哈希表,时间复杂度是O(n),空间复杂度:O(...

2018-06-07 12:11:07

阅读数 848

评论数 0

HashSet与TreeSet对重复元素的判断不同之处

HashSet 的实现其实非常简单,它只是封装了一个 HashMap 对象来存储所有的集合元素,所有放入 HashSet 中的集合元素实际上由 HashMap 的 key 来保存,而 HashMap 的 value 则存储了一个 PRESENT,它是一个静态的 Object 对象。HashSet ...

2018-06-07 12:03:28

阅读数 95

评论数 0

多选框显示并存储 通过Math.pow(2,i)函数

如图需要做一个多选框显示并存储。一开始采用了  字符串+","去存储和读取。通过split方法遍历出是否选中。后来。采用了把所有的条目循环累加进行读取操作,   Math.pow(2,i) 函数,保证唯一性。并优化了代码。代码如下:/** * 保存文件类型的配...

2018-03-30 10:19:16

阅读数 347

评论数 0

提示
确定要删除当前文章?
取消 删除