- 博客(49)
- 资源 (11)
- 收藏
- 关注
原创 git统计某一段时间以来的行数
统计代码行数find . -name *.c -or -name *.h -or -name *.cpp | xargs cat | wc -l检查从某一天开始的代码行数git log --since="2020-11-01" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lin
2021-08-25 19:40:23
348
原创 gtest在嵌入式设备上的使用-入门级(gtest-1.7.0)
gtest用起来还是很简单的,只是网上很多文章都讲了太多细节,反而混淆视听。本文期望以最简单的方式,介绍在嵌入式环境中的使用。一、先说使用 1)我们需要gtest的一个库libgtest.a,以及一个目录的头文件gtest 2)定义一个main函数,或者在原有main函数中调用其内容GTEST_API_ int main(int argc, char **argv) { print...
2018-03-07 13:38:04
4645
原创 gitlab使用说明
gitlab使用说明这里是已经填过的坑,所以一定注意1、换行符兼容安装完git后,立即在命令行中执行:git config --global core.autocrlf false否则,git默认会帮我们根据当前系统修改换行符的风格。准备工作建议使用的浏览器:chrome firefox safari 7+OperaIE 10+ git所须软件(
2016-01-06 13:59:20
15876
原创 linux服务器病毒
流媒体服务器,忽然发现TX带宽到了800M经查,top时有cp命令异常使用 ps -efx 命令,发现有这样一个cp /root/cp使用which cp,发现cp老老实实在/bin/cp下待着呢好了/root/cp肯定是坏人了谁启动了它呢?用这个命令:find /etc/init.d/ |xargs grep --color /root/cp发现
2015-09-22 16:32:35
1069
原创 做一个“懒惰”的程序员
懒惰,算是本人的一大缺点,但是我发现,事物的两面性在懒惰上得到充分体现。懒惰,并非一无是处。比如,编写脚本。本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西。二是本人健忘,无法记得冗长的命令。就拿IPC的代码来讲,IPC代码根目录中,有N多build-XXX。而每一个build-XXX目录下的内容,则完全相似,都有一个set.sh。这就是编译用的脚本。
2014-06-30 14:52:47
1315
转载 ubuntu的svn更新
添加1.8资源库:sudo apt-add-repository ppa:dominik-stadler/subversion-1.8更新apt:sudo apt-get update安装依赖的java库:sudo apt-get install libsvn-java安装新版svn:sudo apt-get install subversion确认安装版本:sv
2014-02-26 10:18:46
1042
原创 eclipse 使用windows风格的快捷键
曾经非常不适应eclipse的快捷键使用方式现在基本上习惯了,却忽然发现,原来,它支持切换成windows快捷键操作方法:ctrl+shift+l按两次,会调出来快捷键设置页面Scheme中,选择Microsoft Visual Studio,点OK确定即可。
2014-02-25 09:37:24
829
原创 让嵌入式设备通过网络输出log信息
下面的文字,是我在总结时写的文档文中提到的代码,就不贴出来了。各位想用的,受累自己码吧,很简单的。#网络打印可以达到的效果:多台设备(比如IPC),同时运行,不需要接串口,它们的打印信息,均可输出到网络中某台电脑上这些打印包括内核的打印和应用程序的打印。每个设备一个文件保存#客户端准备 参考目录中NetMonitor程序及代码 原理上,监听514
2014-01-23 14:05:22
2912
原创 嵌入式系统中的gdb自动调试技巧
本文介绍了一种方法,让gdb随嵌入式设备开机自动运行。出问题后再连接上设备查看原因在嵌入式系统中,有时会遇到较低概率的死机情况。这时,因为不太容易复现,会导致调试中的一些麻烦。在这种情况下,就可以将gdb做到嵌入式文件系统中,随系统的启动自动运行。从而可以一次性升级多台机器(比如10台),同时测试。只要出问题时,利用gdb查看结果即可下面介绍实施方案:1,
2014-01-17 17:14:48
1254
原创 gcc去除未用到的函数
嵌入式系统中,对程序尺寸要求高时,可以使用本方法代码中,经常会有一种情况,库中并非所有函数都会用到。然而,无用的函数也最终被编译进可执行文件中了。为避免这一情况,可以在编译时,添加选项:-ffunction-sections -fdata-sections 。该选项让每个函数和数据独自一段在链接时,添加选项:-Wl,-gc-sections。该选项将去除无用的段。需要注意的
2014-01-08 09:03:37
7059
转载 如何linux控制台中的字符颜色&位置?
printf("\33[36m");//改变36m的值为下文中列举的内容,就可以实现相应的功能了printf("what you want to print\n"); //在这之间打印的内容,就会显示对应的颜色printf("\33[0m");如何linux控制台中的字符颜色&位置?其实可以通过输入到控制台的字符流来控制,不同的字符流标识着不同的颜色,下面便是这些字
2013-11-02 11:39:09
1168
转载 使用ld的wrap选项替换已有库函数
其中关于传递给ld的选项,有另外的写法,是-wrap,malloc 还未验证如何写法。使用ld的wrap选项替换已有库函数3 Replies很多时候,可能需要替换已有库函数,或者对其库函数进行修改。为了避免对那些静态链接库或者动态链接库文件大动干戈,我们可以使用ld提供的–wrap选项。例如,想把所有的mallo
2013-10-12 10:52:12
1049
转载 jfss2的生成和挂载
目前用到的是挂载,所以转来存放起来。用mkfs.jffs2 命令制作jffs2镜像文件下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2或者使用命令:apt-get install mtd-utils命令使用实例:mkfs.jffs2 -s 0x1000 -e 0x40000
2013-10-09 13:43:55
1942
原创 thttpd又一BUG(严重)
继,修改时间比原时间晚很多时(比如从1970改到2013),CPU占用率疯狂高的问题之后,又一个新问题当修改时间比原时间早时,比如从12点改到11点。此时,thttpd的timer会以12点为基准运行,而实际时间已变成11点。也就是说,直到1小时之后,众多timer才能得以执行。这样,必然会带来问题的。尤其,watchdog_flag如果6分钟不喂狗,就会使程序退出。
2013-09-05 15:32:09
1291
原创 H264码流格式
这里只涉及基本内容:H264是以NAL为单位存储的00 00 00 01开头,作为一个NAL开始的标志后续一个字节命名为:firstByteOfNalfirstByteOfNal & 0x60 >> 5,作为nal_ref_idc, 是其重要性firstByteOfNal & 0x1F,为值对应的意义为: 6:Supplemental enhancement
2013-07-25 14:37:42
1082
原创 live555对于实时音视频的支持
live555本身,可以支持将文件作为源,提供RTSP播放服务器功能。为了使live555能够支持实时流的播放,需要进行改造。有两种方式:1,一个比较简单,可以使用管道文件的方式。缺点是当码流较大时, 会明显的卡顿、马赛克。(测试超过80K时会卡得非常厉害)2,再一个,需要自己重载source,submission类。在其中实现数据的对接。下面分别介绍一下这两种方式
2013-04-26 14:58:57
8104
原创 thttpd服务器在时间修改后导致CPU占用率过高的问题
thttpd挺好用的WEB服务器可是遇到一个问题,当时间修改后,比如从1970年改到2013年时,thttpd就会占用CPU非常高。查找后发现,其timers.c中tmr_run函数的实现有些问题,按如下修改后,问题解决:voidtmr_run( struct timeval* nowP ) { int h; Timer* t; Timer* next
2013-03-27 17:30:07
1701
转载 制作JFFS2镜像以及挂载到PC
用mkfs.jffs2 命令制作jffs2镜像文件下载:ftp://sources.redhat.com/pub/jffs2/mkfs.jffs2或者使用命令:apt-get install mtd-utils命令使用实例:mkfs.jffs2 -s 0x1000 -e 0x40000 -p 0x500000 -d rootfs/ -o
2013-03-07 14:59:42
865
转载 cmake 常用内容
这篇文章不错,可用于速查一些常用的内容 一、基本使用安装:下载二进制包后可直接解压使用从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败使用:cmake dir_path,生成工程文件或makefile文件二、概念out-of-source build,与in-source
2012-11-20 10:20:21
952
转载 GB2312的编码规则
GB2312的编码规则(转) 2012-05-29 15:34:16| 分类:默认分类 | 标签: |字号大中小 订阅原文地址:http://blog.youkuaiyun.com/HEROWANG/article/details/2532339 GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包
2012-10-17 17:49:13
773
原创 嵌入式设备的时区设置-busybox版本
/etc/TZ中,有可以设置时区但是,当busybox是glibc的时候,就得用/etc/localtime了。它与PC端的/usr/share/zoneinfo/是一致的。将PC端LINUX中的/etc/localtime直接拷贝到板子中的/etc/目录下,时区设置即刻生效。当然了,如果要考虑修改时区,可以再深入研究下。 下面这篇文件,讲述了相关内容: 文章搜集自:h
2012-09-29 09:42:03
10760
1
原创 svn版本号添加到代码中
期望:编译时,自动将SVN版本号添加到代码中方式一: svnversion 执行此命令时,将会打印版本号。 问题是,windows平台使用的是1.7的SVN。而LINUX命令行中使用的是1.6。svnversion不认识 方式二: svn info https://192.168.12.25/svn/jdvr9000 --username abc --
2012-09-20 11:36:48
1344
原创 面试备用
1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代
2012-09-10 08:49:13
634
原创 单元测试与main前运行函数__attribute__((constructor))关键字
为了便于单元测试,做了一个utl_cmd的小模块,它会负责插入命令,解析命令并执行。利用这些命令,可以方便的在程序运行过程中对模块进行测试。而这里有个比较麻烦的问题是,必须要调用utl_cmd_insert先把测试命令插入到命令序列中。否则utl_cmd模块,也不知道都有哪些命令可以支持。 为解决此问题,忽然想起来之前看DirectFB代码时,遇到过main函数运行前自动运行的
2012-08-16 15:46:07
1590
转载 GCC 参数详解
转自:http://www.cppblog.com/SEMAN/archive/2005/11/30/1440.html[介绍]gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代
2012-07-14 13:57:37
534
转载 嵌入式pppoe
http://blog.youkuaiyun.com/guoliquan1/article/details/4871977一:总的来说可以分四点1:arm linux 内核支持ppp2: install ppp-2.4.4 (rp-pppoe要ppp的支持才能正常运行)。3: install rp-pppoe。4:把步骤(2)(3)中生成的相应文件下载到目标板,根据相应提示适当修改就行
2012-06-21 11:53:25
866
转载 在VC中使用WebBrowser控件的两方法
网上资料,抄来备用 在VC中使用WebBrowser控件的两方法黄森堂(vcmfc)著ClassWizard方式:1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:\winnt\system32\shdocvw.dll->只选择IWebBrowserApp类->OK->OK2.声明一个类变量:IWebB
2012-06-18 10:14:08
2338
转载 Microwindows及基于Nano-X的简单程序开发
转自:http://hi.baidu.com/sdqdshixin/blog/item/8afc4b10aded72f6c2ce79e5.html Nano-X是一种图形编程接口,和Win32一样,在上面我们可以编写自己的应用程序,下面转贴一篇简单介绍microwindows和nano-x编程的文章Microwindows概述Microwindows 是一
2012-06-13 09:17:39
1740
原创 WEB SERVER 的内网穿透的问题
IPC上做了WEB服务端,使用网页做配置。但是,一个关键的问题是,它没有办法穿透内网。也就是说,只能在内网,或者有固定IP时才能够访问。 为解决这一问题,想从P2P入手。牵扯到三个方面:设备端:IPC服务端:SERVER客户端:CLIENT 基本的思路为:1,IPC开机,登陆SERVER。2,client向Server查询IPC的地址和端口,并尝试发
2012-06-04 09:46:24
1623
转载 P2P 之 UDP穿透NAT的原理与实现
P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念
2012-06-04 08:42:04
1196
原创 在IPCam上搭建WEB服务并通过CGI交互的相关问题
本文涉及到目前遇到的几个方面的问题,也是分享,也做个记号备忘。1,thttpd服务器搭建 1)下载: http://www.acme.com/software/thttpd/ 2) 交叉编译 命令:CC=arm-linux-gcc ./configure --host=arm-linux 这里有几个问题需要注意,比较令人郁闷的事情 1,co
2012-05-19 15:53:16
2624
原创 source insight也可以自动排版
eclipse的一个强悍功能,就是可以把代码自动排版但source insight却不行不过,有工具和配置,可以帮助完成这个事情:1,下载astyle工具:http://download.youkuaiyun.com/detail/taixinlfx/43067302,打开你的SourceInsight, 选择菜单“Options-->Custom Commands-->Add”, 输入Art
2012-05-16 17:17:51
10621
原创 一个学习HTML Javascript等网页相关技术的好网站
这个网站挺好!刚从上面学习了Javascript正在学习htmlwww.w3school.com.cn
2012-05-14 17:52:22
698
原创 在IPCAM上实现RTSP协议直播-live555
为了实现网络播放,找协议找开源找破了头。终于找到一个能用的当播出来的时候,震惊了!这也太容易了。列下步骤如下: 1,下载live555,网址:http://www.live555.com/liveMedia/2,编译之,在该网站上有说明,基本命令:./genMakefile linuxmake3,打开live/testProgs/testOnDemandRTSPServ
2012-05-11 13:44:35
10430
7
转载 live555 Streaming Media 分析与开发
转自:http://blog.youkuaiyun.com/ghostyu/article/details/7396854感谢大神:ghostyu因需要,从个人的理解顺序和需求角度对live555的分析与开发整理,包含RTSP Server与RTSP Client、如何直播H.264流与JPEG流等,均进行了探讨,对live555的初学者有一定的指导意义。本人习惯使用excel归档,所以本文均
2012-05-11 11:07:22
3407
转载 JSON数据格式
下面这段文字,摘录自http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html,留作备忘 21世纪初,Douglas Crockford寻找一种简便的数据交换格式,能够在服务器之间交换数据。当时通用的数据交换语言是XML,但是Douglas Crockford觉得XML的生成和解析都太麻烦,所以他提出了一种简化格式,也就是
2012-05-07 08:55:38
631
eclipse显示配置
2013-01-28
gb2312-unicode互转
2012-10-20
artistic style源代码格式化工具
2012-05-16
C语言实现的 json格式字符串与结构体自动相互转化
2012-05-07
cmake使用模板
2012-04-28
cmake 的一个真实工程的示例
2012-04-24
curl是利用URL语法在命令行方式下工作的文件传输工具
2011-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人