自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (7)
  • 收藏
  • 关注

转载 source insight

在编程的过程中,对于引用的系统库头文件,经常需要去查看具体声明内容,而仅仅为我们的项目源码建立一个project并不能直接看到,这里有一个办法:    source insight安装以后,在自定义的“workplace”目录中有一个BASE工程,这个工程是一个全局的工程,它的设置对所有工程都有效。所以我们只需要将所有的库头文件都添加至这个base工程中,并执行Project->Synch

2017-04-24 12:27:33 267

转载 Android国际化资源文件自动化生成工具

一、工具起源          如果在做一个产品的过程当中,可能会涉及到多个apk的开发,而且要求实现多国语言。而这些apk可能会由多人分工共同完成。但如果这样的话,每个人都需要整理各自apk所要显示的文字交给专人来翻译。专人负责收集和翻译文字,翻译完了之后再交给每个开发者。比如这个产品中的所有apk都需要支持10国语言,也就是说每个开发人员,要拿着翻译好的文字,在各自负责的项目中

2017-04-15 12:40:21 1209

转载 如何定位和解决Andorid的内存溢出问题(大总结)

我们经常在做项目过程中遇到内存溢出的问题,同时面试中关于OOM的问题也常常出现。这里,我将前辈们解决Andorid内存溢出的方法重新整理一番,方便自己以后使用。最后附上参考博文。一、Android的内存机制android应用层是由java开发的,android的davlik虚拟机与jvm也类似,只不过它是基于寄存器的。在java中,通过new

2017-04-15 12:35:54 294

转载 JNI/NDK开发指南(十一)

异常简介异常,显而意见就是程序在运行期间没有按照正常的程序逻辑执行,在执行过程当中出现了某种错误,导致程序崩溃。在Java中异常分为运行时异常(RuntimeException)和编译时异常,在程序中有可能运行期间发生异常的逻辑我们会用try…catch…来处理,如果没有处理的话,在运行期间发生异常就会导致程序奔溃。而编译时异常是在编译期间就必须处理的。本章主要介绍运行时异常。 示例1:

2017-04-15 12:34:09 253

转载 Android JNI局部引用表溢出

在《JNI/NDK开发指南(十)——JNI局部引用、全局引用和弱全局引用》这篇文章中详细介绍了在JNI中三种引用的使用方式,区别、应用场景和开发注意事项。由于都是理论,看完之后可能印象不够深刻,由其是在开发当中容易出错的地方。所以这篇文章用一个例子说明引用使用不当会造成的问题,以引起大家对这个知识点的重视。首先创建一个Android工程,在主界面放一个文本框和一个按钮,文本框用于接收创建局部引

2017-04-15 12:29:58 1356

转载 JNI/NDK开发指南(十)

这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项。可能看起来有点枯燥,但引用是在JNI中最容易出错的一个点,如果使用不当,容易使程序造成内存溢出,程序崩溃等现象。所以讲得比较细,有些地方看起来可能比较啰嗦,还请轻啪!《Android JNI局部引用表溢出:local reference table overflow (max=512)》这篇文章是一个JNI引用使用不当

2017-04-15 12:28:16 308

转载 JNI/NDK开发指南(九)

在前面几章我们学习到了,在Java中声明一个native方法,然后生成本地接口的函数原型声明,再用C/C++实现这些函数,并生成对应平台的动态共享库放到Java程序的类路径下,最后在Java程序中调用声明的native方法就间接的调用到了C/C++编写的函数了,在C/C++中写的程序可以避开JVM的内存开销过大的限制、处理高性能的计算、调用系统服务等功能。同时也学习到了在本地代码中通过JNI提供的

2017-04-15 12:23:56 334

转载 JNI/NDK开发指南(八)

在第6章我们学习到了在Native层如何调用Java静态方法和实例方法,其中调用实例方法的示例代码中也提到了调用构造函数来实始化一个对象,但没有详细介绍,一带而过了。还没有阅读过的同学请移步《JNI/NDK开发指南(六)——C/C++访问Java实例方法和静态方法》阅读。这章详细来介绍下初始一个对象的两种方式,以及如何调用子类对象重写的父类实例方法。我们先回过一下,在Java中实例化一个对象和

2017-04-15 12:21:22 294

转载 JNI/NDK开发指南(六)

通过前面5章的学习,我们知道了如何通过JNI函数来访问JVM中的基本数据类型、字符串和数组这些数据类型。下一步我们来学习本地代码如何与JVM中任意对象的属性和方法进行交互。比如本地代码调用Java层某个对象的方法或属性,也就是通常我们所说的来自C/C++层本地函数的callback(回调)。这个知识点分2篇文章分别介绍,本篇先介绍方法回调,在第七章中介绍本地代码访问Java的属性。在这之前,先

2017-04-15 12:19:06 340

转载 JNI/NDK开发指南(五)

JNI中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的,基本类型数组中的所有元素都是JNI的基本数据类型,可以直接访问。而对象数组中的所有元素是一个类的实例或其它数组的引用,和字符串操作一样,不能直接访问Java传递给JNI层的数组,必须选择合适的JNI函数来访问和设置Java层的数组对象。阅读此文假设你已经了解了JNI与Java数据类型的映射关系,如果还不了解的童鞋,请移步《JNI/

2017-04-15 12:17:53 264

转载 Android NDK开发Crash错误定位

在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误。ANR错误也好查,Android规定,应用与用户进行交互时,如果5秒内没有响应用户的操作,则会引发ANR错误,并弹出一个系统提示框,让用户选择继续等待或立即关闭程序。并会在/data/a

2017-04-15 12:12:04 305

转载 JNI/NDK开发指南(四)

从第三章中可以看出JNI中的基本类型和Java中的基本类型都是一一对应的,接下来先看一下JNI的基本类型定义:typedef unsigned char jboolean;typedef unsigned short jchar;typedef short jshort;typedef float jfloat;typedef double

2017-04-15 12:03:17 255

转载 JNI/NDK开发指南(三)

当我们在调用一个Java native方法的时候,方法中的参数是如何传递给C/C++本地函数中的呢?Java方法中的参数与C/C++函数中的参数,它们之间是怎么转换的呢?我猜你应该也有相关的疑虑吧,咱们先来看一个例子,还是以HelloWorld为例:HelloWorld.java:package com.study.jnilearn;class MyClass {}public c

2017-04-15 12:01:50 316

转载 JNI/NDK开发指南(二)

通过第一篇文章,大家明白了调用native方法之前,首先要调用System.loadLibrary接口加载一个实现了native方法的动态库才能正常访问,否则就会抛出java.lang.UnsatisfiedLinkError异常,找不到XX方法的提示。现在我们想想,在Java中调用某个native方法时,JVM是通过什么方式,能正确的找到动态库中C/C++实现的那个native函数呢?JVM

2017-04-15 12:00:19 440

转载 JNI/NDK开发指南(一)

JNI全称是Java Native Interface(Java本地接口)单词首字母的缩写,本地接口就是指用C和C++开发的接口。由于JNI是JVM规范中的一部份,因此可以将我们写的JNI程序在任何实现了JNI规范的Java虚拟机中运行。同时,这个特性使我们可以复用以前用C/C++写的大量代码。开发JNI程序会受到系统环境的限制,因为用C/C++语言写出来的代码或模块,编译过程当中要依赖当前操

2017-04-15 11:57:36 332

转载 JNI开发指南

JNI/NDK开发指南(开山篇)相信很多做过Java或Android开发的朋友经常会接触到JNI方面的技术,由其做过Android的朋友,为了应用的安全性,会将一些复杂的逻辑和算法通过本地代码(C或C++)来实现,然后打包成so动态库文件,并提供Java接口供应用层调用,这么做的目的主要就是为了提供应用的安全性,防止被反编译后被不法分子分析应用的逻辑。当然打包成so也不能说

2017-04-15 11:55:25 299

转载 Android 格式化分区命令

mkfs.vfat  /dev/block/mmcblk0pxxxxbusybox mkfs.vfat  /dev/block/mmcblk0pxxxx,规划磁盘分区:fdisk二,格式化磁盘分区:mkfs.xxx三,挂载磁盘分区:mount、umount四,文件系统管理:e2abel、blkid、tun2fs、df五,开机自动挂载:/etc

2017-04-12 18:13:01 13206

转载 深入学习Android系统上mount命令的使用

在Android系统的预装apk病毒和elf病毒的清除时,经常需要先获取root权限,再执行 “mount -o remount,rw /system” 命令修改系统分区属性为可写,然后才能将system/xbin、system/bin以及system/app下的病毒清除干净。在清除Android系统病毒的这个过程中,必须涉及到 mount修改Android系统的分区属性为可写的行为,这里

2017-04-12 16:53:18 8435

转载 几种Windows进程通信

32位Windows采用虚拟内存技术使每个进程虚拟4G内存,在逻辑上实现了对进程之间数据代码的分离与保护。那么相应的进程之间的通信也就有必要整理掌握一下。Windows进程间通讯的方法有很多:管道、邮件槽、剪切板、共享内存、消息、套接字、RPC、DDE等。但是他们大部分拥有一个共同的本质:利用Windows操作系统高2GB内核共享空间进行数据传递的桥梁,所以他们都是内核对象!

2017-04-12 12:04:15 353

common-log.rar

一个log框架代码,可以定义log tag, 定义log 等级, 适用于大型项目log分类打印输出,最轻量级的log系统。

2020-08-02

fastdfs100-libfastcommon-master.rar

FastDFS的重要组件代码,包含socket 连接池 , 通用高效数据结构模型, 线程池, 内存池等等, 可以适当修改用于自己的Linux项目开发。

2020-08-02

linyanx-memory-pool-master.rar

Linux 平台内存池的实现, 一个很好使用的内存池,采用SALB思想,内存采用按块分,非常适用于Linux项目的开发。

2020-08-02

libiconv1.15 裁剪到200多K的库

适合嵌入式裁剪过的libiconv 库。源代码已经经过修改可直接编译。

2018-11-24

VS 操作EXECL的例子封装成类了。

对EXECL封装的一个类,可直接使用。需要安装OFFICE不然无法找到COM组件。

2017-11-25

libusb DEMO工程

Windows 下libusb 使用方法,可基于DEMO开发USB通信程序。

2017-07-13

C++设计模式讲解

C++设计模式讲解,介绍每个常用模式思想及简单实现。对学习面向对象编程有极大的作用。

2015-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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