- 浏览: 376625 次
- 性别:
- 来自: 北京
最新评论
-
qzrsqzrsqzrs:
...
The surface has been released 异常 -
u011262505:
纳尼,我发现我还是有这个问题
The surface has been released 异常 -
梦想家dream:
哥们 编译好的库如何使用呢?我都不晓得这个库中的函数是什么 我 ...
openssl android编译 -
dingran:
tofaluanle 写道我使用你这个demo测试通过。然后我 ...
curl在Android中使用的Demo -
tofaluanle:
我使用你这个demo测试通过。然后我自己写了个函数,建立ftp ...
curl在Android中使用的Demo
文章列表
ios的log打印使用NSLog
- 博客分类:
- NSLog
开始搞ios了,复杂的东西,复杂的心情。
搞出helloworld后,就开始想怎么加打印信息了。
1.引入头文件:
#import <Foundation/Foundation.h>
这种import的方式可以防止重复引用导致的问题,好东西啊,上学的时候就觉得如果这个问题不能解决那简直时弱爆了,
学校果然技术很落后啊。
2.使用时可以最简化的使用:
NSLog(@"Hello,objective-c!");
这样就可以打印出字符串了,直接用,很方便。
NSLog输出整合时间戳,日期戳,自动换行 ...
xcoder的一个编译错误:
linker command failed with exit code 1 (use -v to see invocation)
说明有无法准确找到的函数,函数有重复现象。
造成这个错误的原因是我直接在 .h头文件中实现了几个函数,然后这个头文件又被别的.c文件所引用,有实现的。
所以解决办法是把实现的几个函数单出一个.c文件里去。这样就ok了。
java虚拟机启动时的参数,例如:
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
参数中-vmargs的意思是设置JVM参数,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。
堆(Heap)和非堆(No ...
VLC for Android源码下载和编译
- 博客分类:
- vlc
1.vlc for android 已经发布了,开源的地址是:
http://wiki.videolan.org/AndroidCompile
这里面有详细的使用说明,
其中源码获取是:
git clone git://git.videolan.org/vlc-ports/android.git
再次感谢git这个伟大的工具。
2.源码编译:
最新版的源码编译已经简化多了,不用从网上找pdf的文档了,那个已经不适用了。只要按照wiki上的说明操作即可。
运行到:
s ...
NEON和NONEON的区别
- 博客分类:
- NEON
一句话,NEON是支持硬件解码,而NONEON是不支持。
今天下载VLC for Android的时候发现了两个版本的apk,NEON和NONEON的,所以就查找了一下他们的区别。
网上都是专业术语介绍NEON指令集的,所以我才想到用一句话来说明这个区别。
Ubuntu的终端用来搞c和c++真是太方便了,哪像windows下的turboC那么麻烦啊!
直接vi编辑一个.c 或 .cpp 文件,然后g++ 或 gcc 一编译,直接 ./a.out运行,真是太方便了。
不熟悉的函数直接man一下就ok了。好东西啊!
现在就用这东西学习一下socket吧:
1.首先搞一个服务端:
vi a.c
内容如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 引入的三个头文件,是必 ...
fork()和execve()是标准的Linux系统调用,可以组合生成新的进程开始新的任务。上篇文章学习了fork()的使用,execve()呢就是执行新的文件中的main函数,开始了新的进程任务。fork出的子进程共享父进程的内存结构信息和库链接信息等,而后子进程调用execve()将新进程所需的代码加载到内存中,此时,父进程的信息将被擦除,并重新分配子进程的内存给新的任务代码。如果此时子进程所需的共享库已经被加载到内存中,就不用重新加载了,只需要跟新链接信息即可。否则还要从存储器中将库加载至内存,费时间。
这说明了,一开始fork到执行execve ...
从一道面试题谈linux下fork的运行机制
今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目:
给出如下C程序,在linux下使用gcc编译:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 1 #include "stdio.h"
2 #include "sys/types.h"
3 #include "unist ...
如果要查看动态链接库,在Linux是以.so结尾的文件,在window下是.dll
查看动态库中的接口名称,使用命令:
readelf -s libjvm.so | grep JNI_Creat
由于libjvm.so中的接口实在太多了,我只想知道有没有JNI_CreateJavaVM这个接口,所以加了过滤条件。
结果如下:
2058: 00413b70 316 FUNC GLOBAL DEFAULT 11 JNI_CreateJavaVM@@SUNWprivate_1.1
35830: 00413b70 316 FUNC ...
在Android的世界中,由名称为app_process的C++本地应用程序(路径为:framework/base/cmds/app_process/app_main.cpp)调用JNI Invocation API 在自身进程中加载dalvikvm虚拟机,这样就开创了java世界.
现在就简单的Demo一下这个原理,在Ubuntu11.10的终端中操作,已安装了jdk的条件。
1.首先创建一个工作目录:
mkdir javaVMTest
2.创建一个java文件,Called.java,内容:
public cla ...
Ubuntu将新增磁盘挂载到home下
- 博客分类:
- Linux
home磁盘空间不足,其他闲置硬盘是原来windows的,不能直接使用(磁盘格式及权限等原因),比如编译安卓源码等。
这样的话就需要将新的磁盘格式化成fat32后挂载到/home下的一个目录,这样就可以方便使用啦。
具体步骤 ...
android的sdk中MediaPlayer.java中的static代码段中:
static {
System.loadLibrary("media_jni");
native_init();
}
直接调用了static的nativee方法:
private static native final void native_init();
这个方法在jni的实现类,/myAndroid/frameworks/base/media/jni/android_media_MediaPla ...
监听按键长按有很多方法,这个是和onkeyDown等并列提供的
一种标准方法,只是直接使用不能起作用,需要一些处理才行。
1.必现在onKeyDown 中将第一次的消息return true;
然后调用event.startTracking();
2.可以在覆写的onKeyLongPress函数中监听到这个按键长按的事件并
做处理。
最初从福州出差期间,我始终不明白这个东西是干什么用的,就在昨天我
关机睡觉的时候才想明白了,关机时的电源键需要长按才起作用,你短按一下
没用的。顿时醒悟,或许我们一会可以用到,请各位同仁珍藏。
...
1.打印调用堆栈信息:
从onKeyDown中:
try{
throw new RuntimeException("dingran onkeydown");
}catch(Exception e){
e.printStackTrace();
}
打印出的log:
W/System.err( 794): java.lang.RuntimeException: dingran onk ...
git拒绝了提交:
dr@drBox:~/adtv/adtv$ git push origin master
Counting objects: 110, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (59/59), done.
Writing objects: 100% (77/77), 14.61 KiB, done.
Total 77 (delta 38), reused 0 (delta 0)
remote: Resolving deltas: 5% (2/38 ...