自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翔子的世界

伴我成长

  • 博客(49)
  • 资源 (11)
  • 收藏
  • 关注

原创 Linux C++快速入门

C++最硬核的内容

2023-12-09 17:35:29 1099

原创 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 302

原创 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 4021

原创 gitlab使用说明

gitlab使用说明这里是已经填过的坑,所以一定注意1、换行符兼容安装完git后,立即在命令行中执行:git config --global core.autocrlf false否则,git默认会帮我们根据当前系统修改换行符的风格。准备工作建议使用的浏览器:chrome firefox safari 7+OperaIE 10+ git所须软件(

2016-01-06 13:59:20 15805

原创 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 1035

原创 做一个“懒惰”的程序员

懒惰,算是本人的一大缺点,但是我发现,事物的两面性在懒惰上得到充分体现。懒惰,并非一无是处。比如,编写脚本。本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西。二是本人健忘,无法记得冗长的命令。就拿IPC的代码来讲,IPC代码根目录中,有N多build-XXX。而每一个build-XXX目录下的内容,则完全相似,都有一个set.sh。这就是编译用的脚本。

2014-06-30 14:52:47 1262

原创 嵌入式Linux工具备忘

1,fw_printenv 可以在内核中打印、设置Uboot的环境变量2,squash等文件系统,因为是只读r

2014-06-26 09:52:57 1052

转载 git使用图解

2014-05-29 11:30:06 697

原创 把你的代码写得漂亮些

教你怎么写代码

2014-03-20 19:20:42 1759 1

转载 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 994

原创 eclipse 使用windows风格的快捷键

曾经非常不适应eclipse的快捷键使用方式现在基本上习惯了,却忽然发现,原来,它支持切换成windows快捷键操作方法:ctrl+shift+l按两次,会调出来快捷键设置页面Scheme中,选择Microsoft Visual Studio,点OK确定即可。

2014-02-25 09:37:24 802

原创 让嵌入式设备通过网络输出log信息

下面的文字,是我在总结时写的文档文中提到的代码,就不贴出来了。各位想用的,受累自己码吧,很简单的。#网络打印可以达到的效果:多台设备(比如IPC),同时运行,不需要接串口,它们的打印信息,均可输出到网络中某台电脑上这些打印包括内核的打印和应用程序的打印。每个设备一个文件保存#客户端准备  参考目录中NetMonitor程序及代码  原理上,监听514

2014-01-23 14:05:22 2836

原创 嵌入式系统中的gdb自动调试技巧

本文介绍了一种方法,让gdb随嵌入式设备开机自动运行。出问题后再连接上设备查看原因在嵌入式系统中,有时会遇到较低概率的死机情况。这时,因为不太容易复现,会导致调试中的一些麻烦。在这种情况下,就可以将gdb做到嵌入式文件系统中,随系统的启动自动运行。从而可以一次性升级多台机器(比如10台),同时测试。只要出问题时,利用gdb查看结果即可下面介绍实施方案:1,

2014-01-17 17:14:48 1199

原创 gcc去除未用到的函数

嵌入式系统中,对程序尺寸要求高时,可以使用本方法代码中,经常会有一种情况,库中并非所有函数都会用到。然而,无用的函数也最终被编译进可执行文件中了。为避免这一情况,可以在编译时,添加选项:-ffunction-sections -fdata-sections 。该选项让每个函数和数据独自一段在链接时,添加选项:-Wl,-gc-sections。该选项将去除无用的段。需要注意的

2014-01-08 09:03:37 6690

转载 如何linux控制台中的字符颜色&位置?

printf("\33[36m");//改变36m的值为下文中列举的内容,就可以实现相应的功能了printf("what you want to print\n"); //在这之间打印的内容,就会显示对应的颜色printf("\33[0m");如何linux控制台中的字符颜色&位置?其实可以通过输入到控制台的字符流来控制,不同的字符流标识着不同的颜色,下面便是这些字

2013-11-02 11:39:09 1133

转载 使用ld的wrap选项替换已有库函数

其中关于传递给ld的选项,有另外的写法,是-wrap,malloc  还未验证如何写法。使用ld的wrap选项替换已有库函数3 Replies很多时候,可能需要替换已有库函数,或者对其库函数进行修改。为了避免对那些静态链接库或者动态链接库文件大动干戈,我们可以使用ld提供的–wrap选项。例如,想把所有的mallo

2013-10-12 10:52:12 1013

转载 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 1845

原创 thttpd又一BUG(严重)

继,修改时间比原时间晚很多时(比如从1970改到2013),CPU占用率疯狂高的问题之后,又一个新问题当修改时间比原时间早时,比如从12点改到11点。此时,thttpd的timer会以12点为基准运行,而实际时间已变成11点。也就是说,直到1小时之后,众多timer才能得以执行。这样,必然会带来问题的。尤其,watchdog_flag如果6分钟不喂狗,就会使程序退出。

2013-09-05 15:32:09 1165

原创 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 1037

原创 live555对于实时音视频的支持

live555本身,可以支持将文件作为源,提供RTSP播放服务器功能。为了使live555能够支持实时流的播放,需要进行改造。有两种方式:1,一个比较简单,可以使用管道文件的方式。缺点是当码流较大时,   会明显的卡顿、马赛克。(测试超过80K时会卡得非常厉害)2,再一个,需要自己重载source,submission类。在其中实现数据的对接。下面分别介绍一下这两种方式

2013-04-26 14:58:57 7741 1

原创 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 1621 3

转载 制作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 833

转载 cmake 常用内容

这篇文章不错,可用于速查一些常用的内容  一、基本使用安装:下载二进制包后可直接解压使用从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败使用:cmake dir_path,生成工程文件或makefile文件二、概念out-of-source build,与in-source

2012-11-20 10:20:21 919 1

转载 GB2312的编码规则

GB2312的编码规则(转)  2012-05-29 15:34:16|  分类:默认分类 |  标签: |字号大中小 订阅原文地址:http://blog.csdn.net/HEROWANG/article/details/2532339  GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包

2012-10-17 17:49:13 729

原创 嵌入式设备的时区设置-busybox版本

/etc/TZ中,有可以设置时区但是,当busybox是glibc的时候,就得用/etc/localtime了。它与PC端的/usr/share/zoneinfo/是一致的。将PC端LINUX中的/etc/localtime直接拷贝到板子中的/etc/目录下,时区设置即刻生效。当然了,如果要考虑修改时区,可以再深入研究下。 下面这篇文件,讲述了相关内容: 文章搜集自:h

2012-09-29 09:42:03 10269 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 1296

原创 面试备用

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 603

原创 单元测试与main前运行函数__attribute__((constructor))关键字

为了便于单元测试,做了一个utl_cmd的小模块,它会负责插入命令,解析命令并执行。利用这些命令,可以方便的在程序运行过程中对模块进行测试。而这里有个比较麻烦的问题是,必须要调用utl_cmd_insert先把测试命令插入到命令序列中。否则utl_cmd模块,也不知道都有哪些命令可以支持。 为解决此问题,忽然想起来之前看DirectFB代码时,遇到过main函数运行前自动运行的

2012-08-16 15:46:07 1525

转载 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 506

转载 嵌入式pppoe

http://blog.csdn.net/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 818

转载 在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 2319 1

转载 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 1675

原创 WEB SERVER 的内网穿透的问题

IPC上做了WEB服务端,使用网页做配置。但是,一个关键的问题是,它没有办法穿透内网。也就是说,只能在内网,或者有固定IP时才能够访问。 为解决这一问题,想从P2P入手。牵扯到三个方面:设备端:IPC服务端:SERVER客户端:CLIENT 基本的思路为:1,IPC开机,登陆SERVER。2,client向Server查询IPC的地址和端口,并尝试发

2012-06-04 09:46:24 1584 3

转载 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 1172

原创 在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 2551

原创 source insight也可以自动排版

eclipse的一个强悍功能,就是可以把代码自动排版但source insight却不行不过,有工具和配置,可以帮助完成这个事情:1,下载astyle工具:http://download.csdn.net/detail/taixinlfx/43067302,打开你的SourceInsight, 选择菜单“Options-->Custom Commands-->Add”, 输入Art

2012-05-16 17:17:51 10475 3

原创 一个学习HTML Javascript等网页相关技术的好网站

这个网站挺好!刚从上面学习了Javascript正在学习htmlwww.w3school.com.cn

2012-05-14 17:52:22 679

原创 在IPCAM上实现RTSP协议直播-live555

为了实现网络播放,找协议找开源找破了头。终于找到一个能用的当播出来的时候,震惊了!这也太容易了。列下步骤如下: 1,下载live555,网址:http://www.live555.com/liveMedia/2,编译之,在该网站上有说明,基本命令:./genMakefile linuxmake3,打开live/testProgs/testOnDemandRTSPServ

2012-05-11 13:44:35 10281 12

转载 live555 Streaming Media 分析与开发

转自:http://blog.csdn.net/ghostyu/article/details/7396854感谢大神:ghostyu因需要,从个人的理解顺序和需求角度对live555的分析与开发整理,包含RTSP Server与RTSP Client、如何直播H.264流与JPEG流等,均进行了探讨,对live555的初学者有一定的指导意义。本人习惯使用excel归档,所以本文均

2012-05-11 11:07:22 3386 1

转载 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 601

Linux C++快速入门

C++常用代码示例

2023-12-09

mkfs.jffs2 Windows工具

想不想在Windows平台下制作jffs2镜像? 这个包可以帮你啦 双击批处理文件,即可将conf.d目录打包成镜像

2014-04-24

onvif 前端模拟器

完全模拟了一台支持ONVIF的网络摄像机 可用于开发客户端的调试。

2013-12-26

eclipse显示配置

打开eclipse,File->Import->General->Preferences,选中解压后的文件即可。通过修改配色方案,让eclipse看起来像source insight类似的着色。

2013-01-28

socket本地-网络通讯示例

实现网络通讯和本地socket文件进行进程间通讯的小例子两个

2013-01-18

gb2312-unicode互转

gb2312与unicode互相转化。同时还有UTF8的转码 使用了两个表,一个以gb2312顺序,一个以unicode顺序 gb2312转Unicode通过计算获得 unicode转gb2312,需要折半搜索。效率还成。

2012-10-20

artistic style源代码格式化工具

可以帮助格式化源代码的好工具。 你可能下载到的源码比较混乱 也可能你拿到其他人写的源码,乱的想骂娘 别着急 用这东西,可以解决你的问题 astyle -c --style=ansi abc.c 再打开文件看看,爽呆了。

2012-05-16

C语言实现的 json格式字符串与结构体自动相互转化

在cjson基础上,实现了字符串与结构体自动相互转化的功能。 可以自动将字符串(JSON格式)转化为对应的结构体,反之亦可。

2012-05-07

高质量C++/C编程

林锐的高质量C++/C编程 一直奉为宝典 强烈推荐

2012-04-28

cmake使用模板

一个CMAKE建立的实际工程 工程不大,但包括了库的路径,头文件路径,库的依赖,库的编译,可执行文件的编译。基本功能就全了。 代码的部分不方便透露,已经删除 但是cmake的框架结构都在 可以方便的以它为模板建立工程

2012-04-28

cmake 的一个真实工程的示例

一个CMAKE建立的实际工程 工程不大,但包括了库的路径,头文件路径,库的依赖,库的编译,可执行文件的编译。基本功能就全了。 代码的部分不方便透露,已经删除 但是cmake的框架结构都在 可以方便的以它为模板建立工程

2012-04-24

curl是利用URL语法在命令行方式下工作的文件传输工具

curl是利用URL语法在命令行方式下工作的文件传输工具,也可以作为库的存在帮助你实现某功能的程序.我把它找出来是为了用来做一个自动升级软件,用作下载程序用

2011-09-03

空空如也

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

TA关注的人

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