- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 Visual Studio Code
微软也出免费的编辑器了,跨平台。用起来还不错,当然我是在windows下使用,配置了可以编译c/c++应用,很好,就是运行vcvarsall.bat慢。AngularJS 2.0使用TypeScript,这个是微软的东西。融合,开放才是潮流。
2017-04-07 16:46:54 361
转载 Ubuntu中的一些配置
Ubuntu配置拼音输入法第一步,安装IBus框架,在终端输入以下命令:sudo apt-get install ibus ibus-clutter ibus-gtk ibus-qt4第二步,安装拼音引擎有下面几种常用选择:IBus拼音:sudo apt-get install ibus-pinyinIBUS五笔:sudo apt-get install ibu
2014-03-31 16:45:59 629
转载 Makefile 收集
Makefile中的@通常,make会把其要执行的命令行在命令执行前输出到屏幕上。当我们用“@”字符在命令行前,那么,这个命令将不被make显示出来,最具代表性的例子是,我们用这个功能来像屏幕显示一些信息。如: @echo 正在编译XXX模块...... 当make执行时,会输出“正在编译XXX模块......”字串,但不会输出命令,如果没有“@”,那么,make将输出
2014-03-05 15:45:18 547
转载 ELF文件
这几天有一个课题把一个.so的文件load到内存中,找到其中的某个函数符号直接运行,例如: main。这里就涉及到对于一些符号段的relocation,如全局函数等。网上有几篇关于ELF文件格式的文章不错,记录一下。ELF formathttp://www.sco.com/developers/gabi/latest/contents.htmlELF
2014-02-20 15:49:35 1629
转载 SVN代码回滚命令 即取消对代码的修改
http://blog.sina.com.cn/s/blog_5432f2730100vmz4.html取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit)。这种情况下,使用svn revert就能取消之前的修改。svn revert用法如下:# svn revert [-R] something其中something可以是(目录或文件的)相对
2013-11-29 15:22:27 29722
原创 程序员应该多手洗衣服
近来出差在外地,天气也冷了,早上起来感觉身上冷都不想动了,但是想到衣服昨晚已经泡上了还是洗了吧。弄点热水开始洗衣服,一件衣服洗完,突然感觉身上热起来了,而且肩膀似乎轻松了,浑身感觉舒服了,看来洗衣服是件好事啊,可以健身还可以活动筋骨,对于治疗肩周炎这种程序员的职业病也有一定的好处。仔细想来还真是,洗衣服活动的是手、臂、肩,臂和肩天天坐在电脑前活动的少,容易出问题,看来应该勤快点,每天坚持洗一件衣服
2013-11-29 12:11:10 978
原创 百度云-网盘 试用
电脑的硬盘比较小,试用了一下百度的网盘,目前感觉还是不错的,尤其离线下载功能,有些大的文件可以让服务器去下,直接保存在网盘上,然后再下到本地,对于BT资源更加适用,因为我们单机的BT速度真的有限,如果使用迅雷要想加快速度还需要花钱注册,而服务器的带宽要大得多,一些资源本身可能就在服务器的本地,几十G的资源一下就下到网盘了,再下到本地就方便了,下到本地最快可以达到2M的速度。上传的速度如何还没有使用
2013-11-29 11:10:35 1482
原创 git使用三把斧
git status -查看哪些更改git add file1 file2 -把需要的更改加入代码库git commit -m "log message" -commitgit push
2013-08-08 17:34:41 983
原创 #ifdef 和 #if defined
#ifdef大家都比较熟悉,作为一个预编译开关,判读一个变量是否定义。例如#ifdef OUT_STDprintf("xxxxxx");#endif我们可以在代码中 #define OUT_STD或者在makefile中 -DOUT_STD,有的时候我们可能需要判读一个组合的条件,例如 OUT_STD和OUT_FILE只要有一个定义就执行,这个时候使用#ifdef OU
2013-06-28 13:40:19 855
原创 在Android.mk中输出信息
在使用NDK编译的时候可能需要输出一些编译的信息来达到调试的目的,在Android.mk中可以使用info来输出信息,大体如下:LOCAL_PATH := $(call my-dir)$(info $(LOCAL_PATH))or$(warning $(LOCAL_PATH))
2013-06-18 17:42:04 5374
原创 模板特化
前些天看到一段如下的代码templateint Handler(int i, int j){ //do something return 0;}当时没有理解什么意思,后来通过查找资料才发现,这个叫做模板函数的特化,就是把模板的参数特殊化,告诉编译器当参数为特定的类型时使用定义的函数处理。网上有几篇文章写得不错,可以参考http://www
2013-05-24 16:28:49 1565
原创 DRM in Android
1, 总体DRM在Android中的支持目前应该有两个部分,一部分是早期版本中就存在的对于OMA DRM 1.0的支持,还有一部分是在Android 4.0版本之后提出来的libDrmFramework,这两个部分我在代码中没有看到交集。我认为libDrmFramework应该是大势所趋,框架才能够把不同的实现统一起来,为上层提供相同的接口,尤其Android系统这种开源的项目,要规范大家
2013-04-08 17:13:40 9966
原创 Porting iperf to Android
iperf是什么就不介绍了,其实下面的方法也是在网上抄过来的,主要参考的网址如下:portingiperf的使用使用iperf的源码可以在下面下载源码sourceforge1,下载源码解压缩到,android_root/external下2,生成一些头文件,在android_root/external/iperf-2.0.4下运行 ./configure -
2013-03-13 16:56:56 1573
原创 十年无梦
在目前的公司一晃已经整整十年,过的时候感觉慢慢,回首却是匆匆。十似乎留下的印记也不多,说好听的十年是一种坚持,说不好的十年只能是一种无奈,想走而没有走成。于过往,想想十年得到了很多,房子,车子,孩子,收入在增加;于未来,又感觉没有得到什么,人生的路没有拓宽,依旧迷茫。小人物活在当下,努力做好眼前事,向前。无奈中前行,平淡中幸福!
2013-02-01 13:43:59 1424
原创 QEMU中的tracing使用
QEME是模拟处理器的自由软件,可以实现虚拟机,Android的虚拟机就是使用QEMU实现的。QEMU中有一个trace模块,可以对于一些函数进行跟踪,例如qemu_malloc, qemu_free等,对于QEMU本身的调试很用帮助。下面就介绍一些如何使用。1,在configure的时候加入 --enable-trace-backend=simple 选项,其中trace的方式有几种,这里使
2013-02-01 13:30:42 6647
原创 分析apk -- aapt
这几天在做Android的CTS相关工作,其实它的运行机理就是自动化的安装一些package,然后自动运行。扯的有点远了,其中有一个CtsJniTest有些问题,需要进行一下debug,可以在/out/host/linux-x86/cts/android-cts/repository/testcases目录下找到它的安装apk,如想知道apk中都包含什么内容,就需要使用aapt(Android A
2012-10-25 16:02:42 694
原创 GStreamer获取摄像头
前些天porting一个获取摄像头图像的Firefox Plugin代码,其中图像的获取是使用gstreamer实现的,在Linux上的pipeline主要如下:gst-launch v4l2src ! ffmpegcolorspace ! ffmpegcolorspace ! ximagesink这里主要使用了v4l2src source,这个source就是在linux下获取摄像头信息
2012-07-11 14:09:39 7700
原创 ffmpeg demux mp4
使用ffmpeg将video codec为h264的mp4文件demux成video/audio ES,这里主要是video需要特别处理一下,因为mp4 container中video缺少一些头信息,格式有些不同,其命令如下:ffmpeg -i test.mp4 -vcodec copy -vbsf h264_mp4toannexb -an test.h264Audio直接copy即可:
2012-07-11 13:53:50 6426
原创 VS2010制作安装程序
序前些天想写一下制作安装程序,由于要写的内容比较多,一拖再拖,不过坚持就是胜利,今天终于写完了。1概述做应用软件制作安装程序是很必要的一件事情,本文主要介绍使用VS2010自带的打包组建来开发一个安装程序,用一个例子的形式一步一步的叙述其中的一些技巧。2基本的安装2.1HelloWorld为了有一个安装的目标,使用VS2010创建一个HelloWorld的C# Window
2012-07-10 18:00:06 11776 2
原创 NPAPI on Windows-补充几点
这几天正在Porting一个Linux的firefox plugin到Windows上,对于在Windows上开发NPAPI的Plugin网上有篇文章写的很不错,可以参考下面的链接NPAPI开发详解,Windows,关于在Windows上开发和调试依据近期遇到的问题补充几点:1,Plugin的安装,文章上说使用注册表,但是我实验了一下似乎不太好用,也许是firefox的版本升级使其对于plug
2012-07-09 11:12:21 831
原创 更新一下
近来外派一个多月,项目很小,技术很杂。主要就两个工具,ffmpeg和hadoop。这几天用vs2010自带的打包工具做了应用程序的安装包,包括Custom Action和Context Menu,感觉这个还比较使用,有时间记录下来 。有段时间没有写东西了,其实真的没有什么可写的。
2012-05-29 12:36:44 396
原创 克莱登大学
<!--p {margin-bottom:0.08in}-->这几天关于美国一所大学的学位有问题的报道挺多,而这些学位大部分都授予了国人,之前的唐骏等之流的学位造假也曾经活过一把。我的办公桌上有一本《围城》,我经常没事翻翻,正好翻到方鸿渐在三闾大学遇到克莱登大学校友的那一段,真是感慨啊,如今儿时教科书中的种种旧社会现象又回来了,但是哪,我们的鲁迅却不在了!
2012-02-15 14:37:48 1794
原创 Ffmpeg seek
<!--p {margin-bottom:0.08in}-->前些日子做了ffmpeg移植到Android上的工作,这两天在搞使用ffmpeg进行一个视频的预览,当然还是在Android平台上,这个就需要使用ffmpeg的seek功能,基本上就是av_seek_frame和avformat_seek_file两个API了,最初用不少调用方式就是没有效果,似乎没有进行se
2012-02-09 14:09:40 8765 1
原创 Chromium实现供JavaScript调用方法
Chromium是支持Video对象的,这个是HTML5的新特性,如今为了在JavaScript中能够调用到底层的一些特性,需要给其添加一个新的方法,即: 如何使JavaScript能够调用到Chromium底层的一些特性。首先看一下Video Play方法的调用堆栈,通过调用堆栈我们可以看到,Play方法最初是应该属于HTMLMediaElement,这个也是HTML5的
2012-01-14 20:41:45 4561 1
原创 幸福了吗
这几天看白岩松的“幸福了吗?”,对比过去和现在提到,“那时更多地在憧憬未来,现在却时常回忆过去”,今天偶然翻到了07、08、09年部门夏游的照片,突然间也有种伤感,大部分人已经辞职了,也有很多人我连名字也叫不起来了,不知道是时间过得快乐还是我的记性不好了,如今就是变化快啊。曾经的朋友们,过得不错吧。
2012-01-14 20:09:04 1027
原创 Chromium Media Player
近来在搞Chromium的Media Player,本来想好好写点东西,可是一直也没有组织好如何写,世事变迁,弄不好过些日子又去搞别点什么了,即使是半成品也贴出来吧,总比什么都没有留下来强。1 OverviewChromium是由Google维护的一个浏览器项目,由于本文主要就是想记录一下近期阅读其媒体处理部分代码的心得,所以其诸多长处也就没有必要在这里描述了。Chr
2012-01-05 20:12:01 3167 2
原创 使用外部数据创建DirectFB Surface
Video解码出来需要使用DirectFB进行Blending,由于解出来的frame已经分配了buffer,所以想直接使用frame的buffer就可以创建surface,这样可以减少一次buffer的操作。在DFBSurfaceDescription的flags的属性中有一个feature为DSDESC_PREALLOCATED正好可以实现这个功能。我首先把解码完成的frame直接保存到一个文
2011-12-22 20:14:27 3165
原创 双网卡虚拟机设置
我使用的是VirtualBox虚拟机,Host双网卡,所以在虚拟机上也设置了两个网卡,一个为NAT的方式,这样虚拟机就可通过Host而连接Internet了。另外一个设置为Bridged Adapter方式,选择所要桥接的物理网卡,并且虚拟机系统相关的网络配置与相桥接的物理网卡的配置在同一个网段,例如:host为192.168.0.1,则虚拟机中为192.168.0.2,并且设置相同的网关,这样就
2011-12-22 20:10:03 726
原创 Android项目使用外部.so - prebuild library on android
关于Android项目中使用外部编译好的library在网上也有些介绍,基本都是把相应的.so文件拷贝到android工程的 libs/armabi 目录中,其实这种方法不地道,而且很多时候满足不了要求,你无法在你的native code中使用这个.so中的features,因为你每次从新ndk-build的时候相应的lib目录会被更新,你拷贝进去的.so会被删除,编译不能完成。这种情况可以参考n
2011-11-17 20:58:15 1675
原创 javah 使用
这几天弄Android上的一些应用需要使用本地代码,开始使用javah这个工具总是出现问题,不是找不到class就是路径有问题,其实这个工具的使用很简单,弄个例子吧。例如你的native引用在helloworld.java中,而helloworld类在包com.hello中,生成的helloworld.class在bin/classes路径中,那么你可以进入bin/classes目录,然后命令如下
2011-11-12 10:16:53 1113
原创 ffmpeg on Android
最近在做将ffmpeg移植到Android上的工作,主要目的是使用ffmpeg解码和多种协议的支持能力,播放http传输的流。当然porting的介绍网上很多了,而且我也没有做这个工作,我就介绍一下我遇到的几个小问题吧。1,生成config.h文件之后,不要忘记将其中的#define restrict restrict改为#define restrict否则编译不过,由于arm的编译器不支持r
2011-10-29 13:35:13 1714
原创 秋菜价格
基本初冬季节了,秋菜开始进城了。不过似乎情况不太好啊,有些地方白菜价格到了几分钱一斤,这是什么概念,似乎我十多年前的价格了,听到这个信息我的心里有些伤感,为什么总是伤农?如今市场物价波动真大,怎么了那?
2011-10-29 07:19:49 511
翻译 Directshow - Create DirectShow Filter DLL
1 题外话这几天没有什么太多的任务,回顾一下DirectShow的东西,发现MSDN上有一篇文章不错,翻译一下,顺便提高一下英文。题目:How to Create aDirectShow Filter DLL出处:http://msdn.microsof
2011-10-14 21:10:19 1230
原创 Debug - WinDbg
1 调试驱动WinDbg是调试Windows Driver的重要工具。要想进行调试,必须选择一种Host和Target的连接方式,我这里选择的是串口连接,使用串口线将Host和Target连接起来。1.1 准备一个例子之前做过AVStream的
2011-10-14 21:03:31 1606
原创 Directshow - LAV Filter介绍
1 介绍LAVFSplitter是使用ffmpeg库的DirectShow DemuxFilter,下面是开发者给出的介绍(http://forum.doom9.org/showthread.php?t=156191)。LAVFSplitter is a m
2011-10-14 20:56:50 5015
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人