C/C++
lubing521
学习交流QQ:273482972
展开
-
rt5350 h264 sn9c291 的RTSP 延时测试
啥都不说了,上图。原创 2015-03-22 16:33:02 · 2416 阅读 · 0 评论 -
nginx 运行于RT5350
在成功编译nginx的mips平台后,将其make install生成的文件打包放在rt5350的文件系统。其中需要注意的是,在放入文件系统需要和编译安装的目录保持一致:如编译的时候有release的目录,所以在文件系统也需要相应的目录release,并将conf ,html,logs文件拷贝,nginx放在sbin目录下。另外在编译的时候指定了user及group如果文件系统尚未原创 2014-07-06 17:09:06 · 1604 阅读 · 0 评论 -
do{ ;}while(false)技巧揭密
do { ZeroMemory(szProtoBuffer, sizeof(szProtoBuffer)); pMsgHdr = ( PNFS_MSG_HEADER )szProtoBuffer ; ZeroMemory( pMsgHdr , sizeof( NFS_MSG_HEADER )) ; pMsgHdr->dwSignatur原创 2014-06-11 21:51:43 · 582 阅读 · 0 评论 -
__attribute__使用的一些总结
以前用VC时没感觉VC有什么问题,现在终于用到了VC不支持的功能 :-)现在做个小小的总结更多见http://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Function-Attributes.html1.__attribute__ format 2.__attribute__ noreturn 3.__attribute__ const 4.__at原创 2014-06-11 21:49:26 · 2826 阅读 · 0 评论 -
STL 之set 练习
C++ 的STL 标准模板库提供了强大的功能,以前一直在CD的怀抱,所以没怎么用过,现在想进一步接触。多了解,看看日后或许会使用上... 点击(此处)折叠或打开#include iostream>#include string>#include set>#include stdlib.h>using namespace std;int main(int agrc,char *argv[]){原创 2014-06-11 21:48:22 · 737 阅读 · 0 评论 -
创建固定大小文件并通过mmap的操作
/* * ===================================================================================== * * Filename: file_map.cpp * * Description: * * Version: 1.0 * Created: 2012年07月1原创 2014-06-11 21:47:40 · 853 阅读 · 0 评论 -
C++陷阱系列(1):让面试官倒掉的题
今天和几位同仁一起探讨了一下C++的一些基础知识,在座的同仁都是行家了,有的多次当过C++技术面试官。不过我出的题过于刁钻: 不是看起来太难,而是看起来极其容易,但是其实非常难! 结果一圈下来,4道题,平均答对半题。于是只能安慰大家,这几道题,答不对是正常的。 "你真的清楚构造函数,拷贝构造函数,operator=,析构函数都做了什么吗? 它们什么时候被调用?",这些问题可不是面向初菜的原创 2014-06-11 21:51:14 · 568 阅读 · 0 评论 -
设计log函数库的几个要点
设计log函数库的几个要点 转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 只要留意一下大项目的源码,你会发现,几乎无一例外的包括一个log模块。它的功能很直观:记录一些程序运行时信息,多数情况是用来辅助debug的。大项目都有一套的log的函数,在它的基础上开发,调用它提供的Log函数就行了原创 2014-06-11 21:51:05 · 873 阅读 · 0 评论 -
Qt编译后无法debug时
今天拷贝了一个书本上的例子,直接用qt creator配置成dubug模式.并设断点后编译调试,发现死活不进断点.在看cosnole编译的输出信息怎么会跑到release目录生成执行档了呢?很奇怪,于是去看了下makefile仍无果.在清除整个工程,执行qmake还是一样.拐了去了,还是在release目下生成代码,和qt creator设置竟然不一致. 过了会看到了*.p原创 2014-06-11 21:51:03 · 1101 阅读 · 0 评论 -
STL之vector练习
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。因此很方便!//定义一个vectorstd::vectorc;//可以使用的功能c.clear()移除容器中所有数据。c.empty()判断容器是否为空。c.erase(原创 2014-06-11 21:48:24 · 639 阅读 · 0 评论 -
nginx-1.5.10 之mips编译到RT5350
编译nginx-1.5.10一般需要以下库的支持:pcre,zlib,openssl此次编译nginx-1.5.10使用的库版本分别为pcre-8.34;openssl-1.0.0l;zlib-1.2.8将这些看和nginx放在同一目录如下图在nginx添加一个shell脚本文件runscript.sh#!/bin/shBUILD_PATH=../releaseCC_P原创 2014-07-06 16:15:40 · 2883 阅读 · 0 评论 -
rt5350接入HD720P 直播效果
今天有空使用rt5350播放HD720摄像头,看看效果。看上去效果还行,不至于很差!原创 2014-07-26 13:32:47 · 6426 阅读 · 1 评论 -
rt5350 i2c 操作wm8988
项目中使用到了wm8988这个音频ic,在linux下有支持该ic的驱动,使用了i2c去控制。因此尝试下ralink sdk下的i2c命令试试能否正确操作器相关寄存器,以确认i2c是否work!又上图信息,i2c的地址是可选为0x34、0x36,于是均试了这两个地址。经测试i2c读取wm8988 register是失败的,原因尚未知。原创 2015-01-02 22:39:08 · 4564 阅读 · 2 评论 -
rt5350 Android平板播放
近期测试了Android平板下播放rt5350下的rtsp直播,效果如下:另外上传了个测试的视频http://v.youku.com/v_show/id_XODQ4NDU5ODky.html原创 2014-12-14 21:05:19 · 1565 阅读 · 0 评论 -
sonix sn9c291+ov9712在虚拟机下调试
在fedora 13 虚拟机下,是原创 2014-08-12 23:20:30 · 3156 阅读 · 0 评论 -
sn9c291 驱动加载成功,mpayer无法播放
先目前将一个sn9c291+ov9712的模块驱动在fedora上加载成功,可是在使用mplayer却无法播放,不知道为何?前后对比发现dev目录下多了video0,video1 设备节点已经出来,video1 是H264的节点[root@localhost mplayer]# mplayer tv:// -tv driver=v4l2:原创 2014-07-30 22:38:28 · 2877 阅读 · 2 评论 -
sonix pc H264 驱动安装
将编译出来的驱动模块通过insmod方式加载发生以下错误:[root@localhost sonic_h264_pc-master]# insmod uvcvideo.ko insmod: error inserting 'uvcvideo.ko': -1 Unknown symbol in module[root@localhost sonic_h264_pc-master]# dm原创 2014-07-29 22:51:16 · 1620 阅读 · 2 评论 -
rt5350 sn9c291 ov9712 录像H264
在rt5350的平台下,接上sn9v291模块,进行录制H原创 2014-08-02 23:03:36 · 3342 阅读 · 0 评论 -
rt5350 捕获sn9c291 ov9712 模块jpeg图片效果
将sonix的sn9c291+ov9712的驱动在rt5350加载成功后,产生两个节点,video0,和video1,但是会报下面的错误,暂时未做分析# usb 1-1.2: new high speed USB device using rt3xxx-ehci and address 4usb 1-1.2: configuration #1 chosen from 1 choiceu原创 2014-08-02 22:43:51 · 2816 阅读 · 0 评论 -
关于静态与动态编译arm平台程序的比较
由于最近弄个console程序,调用了readline,ncurses库,这两个动态库加起来有四百多k,而程序其实很小,其他地方也没使用到这两个库所以想静态编译看看console程序有多大。#arm-linux-gcc cli.c -o console libreadline.a libncurses.a #ls -ltotal 1932-rwxrwxr-x 1 root原创 2014-07-08 15:14:46 · 1391 阅读 · 0 评论 -
readline-6.3 之arm平台交叉编译
最近需要弄个CLI命令接口程序,初步设想是需要支持历史命令翻阅,tab键命令补全这样的一个东西。经查阅相关资料,深耕百度一番!(google最近不太正常)实在恼火。发现readline果真是个好东西,于是将其先编译成arm平台。./configure CC=arm-linux-gcc --host=arm-linux CROSS_COMPILE=arm-linux-gcc配置,起初原创 2014-07-07 16:18:22 · 6039 阅读 · 1 评论 -
可编译与不可编译的sigslot
gcc version 4.4.4 20100503 (Red Hat 4.4.4-2) (GCC) 此版本支持已经修改过的sigslot编译.[root@localhost sigslot]# ./testThe state is 1The state is 0The state is 0The state is 1The state is 1The state原创 2014-06-11 21:51:16 · 921 阅读 · 0 评论 -
设计模式之观察者模式
去年《步步惊心》穿越连续剧可谓火了一下,里面的人物 太监李德全,侍女 马尔泰.若曦在伺候皇上的时候可谓用心良苦,他们可谓察言观色,谨言慎行。不然早混不下去了,为此做为观察者身份出现的他俩很能察觉到皇上的举动代表什么一下,套用设计模式来说,就是一种状态变更了,其他都能及时了解到其状态的情况,比如皇上示意用茶,用膳他俩就必须知道,不然就挨板子了。 为实现上面的功能,定义以下类。 点击(此处)折叠原创 2014-06-11 21:48:52 · 517 阅读 · 0 评论 -
设计模式之代理模式
魂断C++,虽小懂一些c++语法。但用起来还是很纠结,一直停留在c的百慕大中。总是感觉拿c++的刀去砍c的肉。没有一点面向对象编程的感觉。因此想从头再来学习下。可是再去看c++ prime这些类似讲解多态,继承,重载等等的书籍又感觉很无聊,于是网上找了下,貌似设计模式idea是比较很好的体现面向对象编程。baidu一看设计模式GOF大师的杰作已经被衍生出若干个版本了,有java,c sharp,c原创 2014-06-11 21:48:43 · 603 阅读 · 0 评论 -
QT程序打包发布 - 免安装
QT程序发布看了些文档,觉得都说得挺麻烦,而且也不知道是否因为版本的关系,有些文章提到的内容我并没有找到;再者因为都是一些小程序,个人也认为没有必要用发布的方法,免去安装的烦恼;而生成的EXE还需要有相应的动态链接库支持,若要向别人共享,有可能会漏掉DLL,也麻烦;我理想的工具即像WINRAR一样,可以将多个文件打包,同时又可以直接双击运行,无需解压经过一番搜索,在网络上找到一款软件,觉得挺合用的原创 2014-06-11 21:51:00 · 1291 阅读 · 0 评论 -
设计模式之策略模式
话说在代理模式下,在王婆的邪恶帮助下,潘金莲与西门庆已经取得了初步的认识,通过代理(媒婆王婆)西门庆初步取得了成功,已近开始接近潘金莲骚妇。可是要想进一步发展关系可不能光天华日之下来来往往,于是乎通过王婆此媒人将他们之间的联络暗号初步定好了。1.在武大郎生气的时候,潘金莲就会在门口挂五角星提示西门庆,武大郎生气!(至于是什么原因就不说了,如武大郎今天烧饼没赚钱,还被打了一顿,或武大郎出门被天上鸟拉原创 2014-06-11 21:48:45 · 2064 阅读 · 0 评论 -
Qt之Laying Out Widgets篇【linux window 平台】
早闻Qt支持多操作系统,不妨试试看。在下列代码中分别将其在window XP和 fedora 13进行编译运行基本上不用改任何代码,只需编译即可运行。 点击(此处)折叠或打开#include QtGui/QApplication>#include QtGui/QHBoxLayout>#include QtGui/QSlider>#include QtGui/QSpinBox>int main(i原创 2014-06-11 21:48:31 · 469 阅读 · 0 评论 -
Qt 编程学习之hello world 篇 [windows] 【window 平台】
Qt早已耳熟,但从来未拿来做过界面开发,也从未做过类似界面开发的工作。此番学习笔记最为学习Qt成长印记。虽语焉不详,但仍能回顾,以巩固学些之用!至于Qt的未来前景是否明朗...想必有人云亦云! 查阅baidu,google得知window平台至少需要安装qt-win-opensource-4.7.4-mingw.exe;为方便界面开发可再装qt-creator-win-opensource-2.3原创 2014-06-11 21:48:28 · 728 阅读 · 0 评论 -
boost库的调用ld问题[已解]
上一篇博客日志中留下了个问题,在完成安装boost 1.51.0库后再编译一个小程序时出现库连接不上,经过一番查找原来在编译连接的时候需要加入库的路径,而不是简单的写上g++ boost_asio.cpp -o boost_asio -lboost_system,后改为g++ -L/usr/local/lib asio.cpp -o asio.cpp -lboost_system -lboost_原创 2014-06-11 21:48:17 · 606 阅读 · 0 评论 -
backtrace揪出segmentation fult【转至http://chenzhuoyou.blogbus.com/logs/35484209.html】
程序在得到一个Segmentation fault这样的错误信息毫无保留地就跳出来了,遇到这样的问题让人很痛苦,查找问题不亚于你N多天辛苦劳累编写代码的难度。那么有没有更好的方法可以在产生SIGSEGV信号的时候得到调试可用的信息呢?看看下面的例程吧!sigsegv.h#ifndef __sigsegv_h__#define __sigsegv_h__#ifdef __cplusplusexter原创 2014-06-11 21:47:42 · 1020 阅读 · 0 评论 -
组合模式
组合模式(Composite)将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。根据上图可以看出Component中纯虚函数Add、Remove。也就是说在Leaf类当中也有Add、Remove,树叶不是不可以再长分枝吗?呵呵~教材上把这种方式叫做透明方式。透明方式:也就是说在Component中声明所有用来管理子对象原创 2014-06-11 21:50:40 · 627 阅读 · 0 评论 -
boost库之thread练习
线程在进行多个任务同时运行的时候,其消耗是相当小的。因此在诸多的多任务应用用起到了很关键的作用,尤其是几十,上百任务时就会有所体现,单单一两个不足以体现线程使用的优势。因此在开发多任务程序时掌握多线程的设计也至关重要。今天小试了下boost库中的thread,使用上和C下的thread没多大差别,毕竟是应用而不是写库,拿来看到即可用上。 点击(此处)折叠或打开#include iostream>#原创 2014-06-11 21:48:26 · 695 阅读 · 0 评论 -
boost 1.51.0移植到ARM S3C6410成功运行
OS :Fedora 13 Boost Ver: 1.51.0Compiler : GNU gcc 4.3.2 for ARM [root@localhost Release]# arm-linux-gcc -vUsing built-in specs.Target: arm-none-linux-gnueabiConfigured with: /scratch/julian/lite原创 2014-06-11 21:48:19 · 641 阅读 · 0 评论 -
Lua让我脸红与C语言创建可重用软件技术
Python是荷兰人写的,Ruby是日本人写的,Lua是巴西人写的,我这个中国人只能在这里脸红。 Lua是所有动态语言中间平均效率最高的一个。它最初是以Library的形式存在,纯粹只是用作C/C++的一个扩展。现在不仅发展出了解释器,还发展出了编译器。游戏开发里Lua是使用最广泛的脚本语言。当世界上第一本Lua图书上市销售的时候,一位读者评价道:“Lua is a real gem.原创 2014-06-11 21:51:37 · 980 阅读 · 0 评论 -
一个超级宏
近日看别人的开源代码,遇到一个宏,此宏初看吓我一跳。这个宏如何展开呢?牛人写的代码这么有技巧,开源?民间?俗话说高手在民间啊!先上两个图看看代码:为了弄清楚如何展开,我们小心翼翼代进去试试。整个代码贴过去就看到如下图了是不是看出些什么了?实在还没看懂再简化一下:int int _main(int, char*[]); \ 这个是函数的声明注意这个不是main而是_main()接下来是真正上场的m原创 2014-06-11 21:51:58 · 839 阅读 · 0 评论 -
spserver 之testsmtp 段错误
无意间看到了spserver及libevent,各种评论言语都有,姑且不管。先体验再发言,经过一番折腾最开始下载libevent是2.0的,本版太高不适合spserver的0.9.5于是把版本降到1.2最终得以编译安装。 先测试一番,就挑了testsmtp试了下,结果出乎意料segement default!客户端:xtramus@ubuntu:~$ telnet 127.0.0.1 1原创 2014-06-11 21:48:36 · 694 阅读 · 0 评论 -
返回函数指针的函数(转载)
博学,切问,近思--詹子知 (http://blog.csdn.net/zhiqiangzhan) 1. 基础知识: 1) 定义函数指针:return_type (*func_pointer)(parameter_list)2) 定义返回函数指针的函数:return_type(*function(func_parameter_list))(parameter_l原创 2014-06-11 21:51:45 · 601 阅读 · 0 评论 -
QT项目负责人必须掌握的Ui设计师功能——Promote to !
作为一个QT项目的负责人,你总是不得不经常面临这样的情况: 你们的团队接到了一个任务,然后你把这个任务细分为具体的模块,然后你的组员们顺利的完成了你布置的任务。他们做好了模块,然后提交给你了。现在,轮到你把他们的模块合并成一个程序了……这网网是很困难的,原因是: 1, 每个人所做的模块都有自己的界面,你在总的程序中要设计和定义好什么时候,在什么位置,谁的模块会生效?原创 2014-06-11 21:50:19 · 1683 阅读 · 0 评论 -
没有有效的Qt版本问题
Qt Creator在window xp下创建一个控制台应用程序时,发现无法进行下去了.到了这一步就无法next.后来发现是Qt creator没有找到的qmake原因.于是乎按照下面的设置即可解决. 图1.无法继续 图2.原创 2014-06-11 21:50:05 · 1600 阅读 · 0 评论 -
一个令人傻眼的错误(error: expected initializer before )
今天调试程序,由于自己的粗心,整了个令自己都哭笑不得的错误.先上图,光看编译器提示的信息,真让人不知道如何查找此错误. 看到此错误便想到,可能是UI16_T 自定义的类型没有include进来,于是检查此块.发现也没问题, 一个头文件出现这错误感到十分奇怪,于是查看所有include此头文件的地方.并将此处引用到的该头文件屏蔽,可见原来出错的地方原创 2014-06-11 21:49:28 · 60525 阅读 · 4 评论