- 博客(28)
- 收藏
- 关注
原创 Some method to operate private member by java reflect
Sometimes, we need operate private member from outer without modifying source , we canuse java reflect to do it , The document will introduce how to do it.
2014-11-22 13:55:40
959
原创 vmplayer中的fedora20无法进入图形界面
新装了台fedora20的虚拟机,安装升级了一些东西后,启动时过了fedora的logo画面后就是黑屏。也没提示任何错误,好在shell还能进去,查看/var/log/anaconda/syslog日志,发现错误如下:20:40:34,794 NOTICE kernel:[ 1256.967907] type=1400 audit(1409517634.790:29): avc: denie
2014-09-01 12:17:49
2520
2
原创 TTCN中PTC的运行流程
一些概念Component(测试组件或者测试成分),TTCN接触下来最频繁的就是MTC(Main Test Component,主测试组件),在执行测试用例前,需要首先创建一个MTC,在testcase运行过程中,只能有唯一的MTC。如果没有指明testcase需要runs on在某个Component,系统默认的component就是MTC。在testcase代码中,不能控制MTC的建立与停
2014-08-28 12:17:11
3124
原创 CMake中使用get_target_property判断Target是否存在
使用Cmake的add_custom_target建立自定义的Target后,必须将这个Target加入all依赖,否则生成的Makefile不会执行这个Target的内容。这样会有个问题,如果需要编译如下目录:目录下有N个目录,这些目录下或是目录,或是文件,那么递归下去,就会有若干CMakeLists.txt,也就是说,会有若干个add_custom_target(all ...)的存在
2014-08-07 16:35:38
13241
原创 cmake函数参数解析
最近在迁移公司的make系统到cmake上,发现cmake的function参数很奇怪。例如,如果我们向一个function传递list作为参数,在function中,形参会变成如下状况:set(SRC)list(APPEND SRC a.cpp b.cpp)list(APPEND SRC c.cpp d.cpp)function(tst_arguments src_list) me
2014-08-05 01:27:41
10069
转载 可变参数及可变参数宏的使用
我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,这里将介绍可变函数的写法以及原理.* 1. 可变参数的宏一般在调试打印Debug 信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC 也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____
2014-06-09 16:49:12
5927
原创 minidlna源码初探(三)—— ACE实现SSDP设备发现功能
前一篇文章minidlna源码初探(二)—— SSDP设备发现的大致流程介绍了SSDP设备发现的大致流程。本文将根据这一流程使用ACE库大致实现该流程。在VLC中模拟出一个伪服务端(设备),为了方便,我们省略了一些验证的内容,对一些XML消息也采取写死的方式。
2014-05-30 13:39:31
4291
原创 motion源码分析(二)——录像
前言:之前的博文将ffmpeg编入motion的结尾,提到了motion的一些简单的应用。本文将以录像为契入点,分析这部分的代码。正文:刷照片的效果实在太挫了,让我们看看如何打开ffmpeg录像的配置。这里需要修改motion-dist.conf中的两个选项(采用默认值则不会录像):# Use ffmpeg to encode a timelapse movie #
2014-04-10 19:47:43
2943
原创 motion源码分析(一)
楔子前几天研究了如何将ffmpeg编入motion(http://blog.youkuaiyun.com/sakaue/article/details/21394219),并实现录像功能。现在研究下motion的工作流程。几个主要模块motion.c主程序,视频采集编码主循环ffmpeg.c一个代理模块,封装了ffmpeg的方法,根据v4l获取的数据编码
2014-04-03 10:11:01
2853
原创 多台,不同OS的PC机如何共享鼠标键盘
多台计算机不同操作系统之间共享一套键鼠可以有效提高工作的效率,这里推荐一个软件——Synergy。安装:首先在ubuntu上安装QuickSynergy (sudo apt-get install QuickSynergy), 在windows上安装Synergy(http://synergy-foss.org/download/),注意两个软件的版本必须一致,否则会报协议erro
2014-02-26 14:32:20
1276
原创 交叉编译libACE
1. 下载访问ACE的官网http://download.dre.vanderbilt.edu/下载ACE.tar.gz2 ,链接http://download.dre.vanderbilt.edu/previous_versions/ACE-6.2.4.tar.bz22. 准备执行命令,设置ACE_ROOT环境变量export ACE_ROOT=/home
2014-02-25 17:03:10
7229
原创 lamobo跑ltp出現了lowmemory錯誤
昨天让Lamobo上的linaro跑ltp(linux test project)测试,今早一看,终端显示error:init: lightdm main process (391) terminated with status 1結果看了下linaro的系統日誌/var/log/syslog,發現是lowmemory的問題: lowmemorykiller: Killing
2014-02-22 09:51:28
2252
原创 移植minidlna到Lamobo
前言lamobo是一款比Raspberry Pi更便宜计算能力更强的开发板。详见:lamobo本文将介绍如何将minidlna项目移植到lamobo开发板上。正文首先需要准备交叉编译toolchain,这里我们需要gcc-linaro-arm-linux-gnueabihf,下载地址如下:https://releases.linaro.org/13.10
2014-02-18 16:17:22
4217
原创 minidlna源码初探(一)
前言minidlna是一种优秀的DLNA解决方案。本文将涉及minidlna的upnp以及目录管理的代码。minidlna的下载链接如下:wget http://netcologne.dl.sourceforge.net/project/minidlna/minidlna/1.1.0/minidlna-1.1.0.tar.gz控制点使用VLC Media Player,下载链接
2014-02-11 17:45:48
11127
1
原创 利用GNUplot图形化显示cyclictest的数据
前言上次研究了下cyclictest的源码以及它的基本应用,地址如下:http://blog.youkuaiyun.com/sakaue/article/details/17843761结果虽然出来了,但是观察数字终究不够直观,GNUplot可以配合cyclictest提供图形化表示,对评估rt-linux的性能很有意义正文安装:sudo apt-get install
2014-01-13 16:48:15
2351
原创 Signaltest源码分析
前言之前研究过cyclictest的源码,详见:http://blog.youkuaiyun.com/sakaue/article/details/17843761现在再研究下signaltest的源码正文signaltest的程序结构与cyclictest大致类似。不同的是,cyclictest通过检测线程睡眠时间期望与实际之间的误差来检测性能。signaltest通过起n个
2014-01-10 18:00:58
2337
原创 cyclictest源码分析
前言最近研究了下rt-linux,在ubuntu上跑了3.4.72-rt89的实时内核,并且运行了cyclictest检验实时内核与普通内核的区别,详见:http://blog.youkuaiyun.com/sakaue/article/details/17629917http://blog.youkuaiyun.com/sakaue/article/details/17715287正文
2014-01-04 16:15:51
3538
1
原创 Ubuntu下测试RT-Linux的性能
上次在Ubuntu上编译了3.12.6的rt_kernel,安装内核后无法进入系统(原因暂未查找),重新下载3.4.72的内核编译后正常进入系统wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.72.tar.gzwget https://www.kernel.org/pub/linux/kernel/projects/rt/
2013-12-31 15:07:55
9472
原创 ubuntu下linux preempt内核编译
1. 前言标准的Linux 内核只能能够满足软中断的要求,为用户空间提供基本的Posix操作,但是不对固定的时间点做保证,PREEMPT_RT补丁解决了这一问题,它的实现技术包括:中断线程化(包括IRQ和softirq)、用Mutex取代spinlock、优先级继承和死锁检测、等待队列优先级化、大内核锁(BKL-Big Kernel Lock)可抢占等。通过这些达到提高实时性的目的。当然,
2013-12-28 11:53:24
4194
原创 ACE Reactor for Windows模型源码研究
最近研究了下ACE的Reactor模型的源码。相比之前自己写的ACE Select模型,复杂了不少。ACE的Reactor框架,用户通过继承ACE_Event_Handler事件处理类。关联ACE_Reactor反应器,将无阻塞的IO隐蔽在ACE_Reactor对象的底层实现,这样减少了开发的事件和风险,提高了效率。 找例,首先叙述顶层的例子。这里,我首先定义一个ACE_Even
2013-09-03 14:41:10
1539
原创 模块式编译的Makefile
平时少不了在linux下写Demo,每次都gcc -o 或者单独写个不可移植的Makefile真的很麻烦,所以写个通用的Makefile很重要 .PHONY:all clear rebuild globalMAKEDIR=$(shell pwd)MAKE=makeCC=gccCP=g++AR=arCOPY=cpMV=mvRM=rm -fUSER
2013-08-15 10:43:24
2629
原创 ACE的Select模型
虽然之前也在linux下写过select服务,但是用ACE还是第一次,把一些心得写下来。算是milestone吧。首先ACE相关库的下载安装我就不多废话,先说说程序的框架,该服务器分服务端和客户端。服务端的主线程负责监听新的连接,同时另起一个线程去处理数据。客户端很简单,就负责发送数据。
2013-08-15 10:18:47
1560
原创 几种CRT函数的汇编实现
.data.set ZERO , 0b00000000000000000000000000000000strlen:在这里利用scasb命令,scasb将di指向的数据与al比较,repne表示重复扫描,如果不相等,则di递增指向下一个数据,cx也递减,如此重复,知道遇到结束符‘\0’为止。代码中利用eax存储常值0与数据比较,利用ecx累计长度,由于累计后是负值,所以将其取正返回(拉长
2013-01-18 14:38:06
1267
原创 Fedora下IPC名字的命名
Posix.1描述PosixIPC名字如下:1 它必须符合已有的路径命名规则(必须最多有PATH_MAX个字节构成,包括结尾空字节)。2 它必须以斜杠符开头,那么对这些函数的不同调用将访问同一队列。如果它不以斜杠符开头,那么效果取决与实现。3 名字中额外的斜杠符的解释由实现定义Richard Stevens在《UNIX网络编程卷2》中建议使用斜杠符开头作为IPC名字,但是我
2012-03-29 00:24:51
737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人