自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 IOS atomic与nonatomic,assign,copy与retain的定义和区别

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。        atomic                设置成员变量的@property属性时,默认为atomic,提供多线程安全。                在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下

2014-09-18 10:43:08 334

转载 iOS开发60分钟入门

iOS开发60分钟入门本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发iOS App,学习目标包括:能使用Xcode IDE、模拟器能修改、调试已有iOS App能在已有应用内创建新模块能创建新应用能发布应用到App Store本文不包含任何高级的iOS开发知识,已学会iOS开发的同学

2014-07-27 20:35:58 631

原创 如何学习Objectve-C

1.请先把C语言基础学好;2.看《Programming in Objective-C 2.0》,不要看《Objective-C 2.0程序设计》;3.看《Cocoa Design Patterns》和《Cocoa Programming Developer's Handbook》,不要因为他们很难而我们自己是初学者所以就不看;4.是的,你需要一台Mac,如果你真的打算好好学Objec

2014-07-16 18:07:26 587

原创 Objective-c学习

objective-c只不过是拥有一些附加特性的C语言。本质上就是C语言1.C语言使用#include通知编译器应在头文件中查询定义。objective-c也可以使用#include来实现这个目的,但你永远不可能这么做,你会用#import,它是GCC编译器提供的,#import可以保证头文件只被包含一次。xcode会使用预编译头文件(一种经过压缩的,摘要形式的头文件),在通过

2014-07-16 18:05:26 600

原创 真机调试 Error in final launch sequence Failed to execute MI command:

目前暂没有解决方案

2014-07-15 16:45:51 5924

原创 NDK调试 No symbol table is loaded. Use the "file" command.

使用ndk-gdb --start 启动程序第一个activity,但是此时so文件并没有被加载。解决方法:首先打开程序并使用,在保证so文件已经被使用的情况下,调用ndk-gdb命令调试程序进程。正确流程:1.创建一个模拟器或者使用真机运行想要调试的程序,确保so文件已经被加载。一个比较简单的方法,在load so库的java文件中添加一个无关紧要的方法,比如:

2014-07-14 15:24:22 797 5

转载 使用 Java Native Interface 的最佳实践

http://www.ibm.com/developerworks/cn/java/j-jni/

2014-07-08 13:26:32 408

原创 android 运用线程

当第一次启动一个Android程序时,Android会自动创建一个称为“main”主线程的线程。这个主线程(也称为UI线程)很重要,因为它负责把事件分派到相应的控件,其中就包括屏幕绘图事件,它同样是用户与Andriod控件交互的线程。比如,当你在屏幕上按下一个按钮后,UI线程会把这个事件分发给刚按得那个按钮,紧接着按钮设置它自身为被按下状态并向事件队列发送一个无效(invalidate)请求。UI

2014-06-26 16:09:09 311

原创 android JNI学习-Android.mk文件详解

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1、单一的Android.mk文件直接参考NDK的sampl

2014-06-26 16:00:38 615

原创 android JNI学习-接口-函数-JNI签名类型定义

android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中。     主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的内容被编译成库libandroid_runtime.so,被放置在目标系统的/system/lib目录下。此外,android还有其他的JNI库。JNI中的各个文件,实际上就是普通的C++源文件.

2014-06-26 15:56:54 1050

原创 注册native函数的两种方式

注册native函数有两种方法:静态注册和动态注册。1、静态注册方法根据函数名找到对应的JNI函数:Java层调用函数时,会从对应的JNI中寻找该函数,如果没有就会报错,如果存在则会建立一个关联联系,以后在调用时会直接使用这个函数,这部分的操作由虚拟机完成。静态方法就是根据函数名来遍历java和jni函数之间的关联,而且要求jni层函数的名字必须遵循特定的格式,其缺点在于:1)

2014-06-26 15:50:15 704

原创 jni中的日志输出到LOGCAT

在Java环境下使用JNI时可以方便的使用printf函数打印信息,在Eclipse控制台Console视图可以方便的观察到,可在Android环境下使用JNI的话,printf函数就无效了,LogCat视图和Console视图里看不到任何输出.但在android编程java代码中,我们使用Log.v等一些将日志输出到logcat,在LogCat视图中可以看到日志输出信息。android ND

2014-06-26 15:45:13 2008

转载 uint8_t是什么

在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有

2014-06-26 13:32:58 8958

原创 NDK 和 JNI区别和联系

NDK(Native Development Kit)“原生”也就是二进制android常用的开发方式是java封装的库,而这些库的底层实现是由C/C++实现,如媒体,图形库等java调用这样实现就需要用JNI(Java Native Interface)平时用的也就是google给我们封装的好的库,即便是底层实现用的不是Java,但都有统一的Java接口而NDK的作用

2014-06-25 13:36:38 432

原创 android中的JNI

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1、单一的Android.mk文件直接参考NDK的sam

2014-06-25 13:35:01 292

翻译 JNI函数语法

一、对照表Java类型    本地类型         描述boolean    jboolean       C/C++8位整型byte       jbyte          C/C++带符号的8位整型char       jchar          C/C++无符号的16位整型short      jshort         C/C++带符号的16位整型in

2014-06-25 13:11:28 1044

原创 FFMpeg框架代码简单梳理

简介    FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.     TCPMP, VLC, MPlayer等开源播放器

2014-06-25 09:37:43 609

原创 FFMPEG解码流程

FFMPEG解码流程:  1. 注册所有容器格式和CODEC: av_register_all()  2. 打开文件: av_open_input_file()  3. 从文件中提取流信息: av_find_stream_info()  4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO  5. 查找对应的解码器: avcodec_find_decoder()

2014-06-23 16:08:03 621

空空如也

空空如也

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

TA关注的人

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