DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

08 2014 档案

摘要:安装完Fedora20后,把Nvidia驱动装上后重起机器一直黑屏时,切换到命令行下:Alt+F2 登陆上去,然后直接更新: su -c ‘yum update’ ,再重起就OK了。 阅读全文
posted @ 2014-08-29 16:31 DoubleLi 阅读(1709) 评论(0) 推荐(0) 编辑

摘要:在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件。但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案。一、测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序——//#if _MSC_VER >=... 阅读全文
posted @ 2014-08-28 16:51 DoubleLi 阅读(692) 评论(0) 推荐(0) 编辑

摘要:1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。下面是一些编译器版本的_MSC_VER值... 阅读全文
posted @ 2014-08-28 16:48 DoubleLi 阅读(3411) 评论(0) 推荐(0) 编辑

摘要:Boost.DateTime库提供了时间日期相关的计算、格式化、转换、输入输出等等功能,为C++的编程提供了便利。不过它有如下特点:1. Boost.DateTime 只支持1400年以后的任何Gregorian日历日期。如果你需要计算再早的日期,则需要寻求其他库来支持。日期和时间是编程过程中常用的... 阅读全文
posted @ 2014-08-27 11:04 DoubleLi 阅读(10968) 评论(0) 推荐(0) 编辑

摘要:本篇紧接着boost上篇叙述Boost::DateTime的时间处理。在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime。构造ptime1.ptime的构造函数有四种:1: using namespace boost::posix_time;2: ... 阅读全文
posted @ 2014-08-27 11:02 DoubleLi 阅读(1724) 评论(0) 推荐(0) 编辑

摘要:C++11支持range-based for循环。这是一个很方便的特性,能省挺多代码。以下代码就能很方便的遍历vector中的元素,并打印出来:12345678std::vector int_vec;int_vec.push_back(1);int_vec.push_back(2);//如果要修改i... 阅读全文
posted @ 2014-08-26 14:25 DoubleLi 阅读(7056) 评论(0) 推荐(1) 编辑

摘要:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file o... 阅读全文
posted @ 2014-08-25 16:24 DoubleLi 阅读(5222) 评论(0) 推荐(0) 编辑

摘要:引言: CentOS自带的yum源中rpm包数量有限,很多时候找不到我们需的软件包,(例如:要安装网络连接查看软件iftop,默认设置下无法使用yum命令安装),下面教大家在CentOS 6.2中(以32位系统为例,64位系统安装方法一样),使用第三方yum源来安装更多软件包。一、安装CentOS ... 阅读全文
posted @ 2014-08-24 23:11 DoubleLi 阅读(714) 评论(0) 推荐(0) 编辑

摘要:linux下安装软件包有两种方法:源文件编译安装(source)和rpm 安装。1.源文件包安装的通用方法。 一般安装源代码的程序你得要看它的README,一般在它的目录下都有的。01.配置: 构建应用的第一步就是执行configure脚本,该脚本位于程式源文件的主目录下: [root@localh... 阅读全文
posted @ 2014-08-24 22:55 DoubleLi 阅读(636) 评论(0) 推荐(0) 编辑

摘要:1.如果这个库文件已经存在使用rpm命令:# rpm -qf/file/path (绝对路径)例如:# rpm -qf /lib/libm.so.6glibc-2.12-1.47.el6.i686当然,这适用于rpm包已经安装了的情况。如果,没有安装呢?比如系统提示缺少某个库?2.如果这个库文件不存... 阅读全文
posted @ 2014-08-24 22:40 DoubleLi 阅读(3686) 评论(0) 推荐(0) 编辑

摘要:author:lidabo装了好多次系统,每次装的时候都有要在网上各种查,太麻烦了。所以决定记录一下,以后用到的时候会方便一些。当然,本文来源于网络,取百家之长,最重要的是本人已验证过,说明对本系统是可行的。在CentOS7上安装Codelocks的过程。1.安装gcc,需要c和c++两部分,默认安... 阅读全文
posted @ 2014-08-23 21:31 DoubleLi 阅读(2866) 评论(0) 推荐(0) 编辑

摘要:来到Linux世界中已有一段时间了,感觉上好像自己的电脑成了一个孤岛。周围的人都还是用Windows系统,能相互共享文件,我用Linux系统,别人的共享文件都还不知道怎么访问?通过网上查资料学习,现在知道了。写笔记啦,用CentOS访问局域网中的Windows共享文件。网上很多都讲用下面方法:# m... 阅读全文
posted @ 2014-08-21 15:41 DoubleLi 阅读(1784) 评论(0) 推荐(0) 编辑

摘要:本文提供了在Windows下用Eclipse+CDT+MinGW搭建C / C++开发平台的方法,测试平台为Windows XP Sp2 CHS。以下软件均为Windows平台下的版本。1、安装JDK,目的是为了Eclipse的运行。目前版本是jdk-1_5_0_06-windows-i586-p.... 阅读全文
posted @ 2014-08-18 23:44 DoubleLi 阅读(2587) 评论(0) 推荐(0) 编辑

摘要:MinGW是Minimalist GNU for Windows的缩写,是把linux下的GNU开发工具包移植到windows的项目之一。和Cygwin不一样的是,MinGW不提供linux的posix运行系统的模拟层,而是直接使用windows的运行库,因而开发的windows的程序可以说是原生的... 阅读全文
posted @ 2014-08-18 23:38 DoubleLi 阅读(482) 评论(0) 推荐(0) 编辑

摘要:MinGW是什么?MinGW是建立在gcc和binutils项目上的,用来编译和连接代码,使之运行在windows系统上;提供c、c++和fortran编译器和相关工具;MinGW=Minimalist GNU for Windows;MinGW使用微软的运行库,生成Windows下的代码;因为不使... 阅读全文
posted @ 2014-08-18 23:08 DoubleLi 阅读(1520) 评论(0) 推荐(0) 编辑

摘要:查询一些RTMP的协议封装时找到了一些RTMP开源项目,在这里列举一下,以后有时间或是有兴趣可以参考一下:just very few of them.Red5only contains a server-implementation (in java).The python projectrtmpy... 阅读全文
posted @ 2014-08-18 23:04 DoubleLi 阅读(693) 评论(0) 推荐(0) 编辑

摘要:3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU(http://www.gnu.org/)的工具集,特别是GNU 程序开发工具,如经典gcc, g++, ma... 阅读全文
posted @ 2014-08-18 23:02 DoubleLi 阅读(2913) 评论(1) 推荐(0) 编辑

摘要:1、在.proto文件中定义消息格式2、使用protobuf编译器3、使用c++ api来读写消息0、为何使用protobuf?1、原始内存数据结构,可以以二进制方式sent/saved.这种方式需要相同的内存布局和字节序。2、以ad-hoc方式将数据项编码成一个简单字符串----比如,将4个int... 阅读全文
posted @ 2014-08-13 23:33 DoubleLi 阅读(21736) 评论(0) 推荐(0) 编辑

摘要:Q: 那个auto_ptr是什么东东啊?为什么没有auto_array?A: 哦,auto_ptr是一个很简单的资源封装类,是在头文件中定义的。它使用“资源分配即初始化”技术来保证资源在发生异常时也能被安全释放(“exception safety”)。一个auto_ptr封装了一个指针,也可以被当作... 阅读全文
posted @ 2014-08-13 23:28 DoubleLi 阅读(761) 评论(0) 推荐(0) 编辑

摘要:boost中提供了几种智能指针方法:scoped_ptr shared_ptr intrusive_ptr weak_ptr,而标准库中提供的智能指针为auto_ptr.这其中,我最喜欢,使用最多的是shared_ptr,也最让人随心所欲.使用很简单,如下:头文件 class A{virtual v... 阅读全文
posted @ 2014-08-13 23:27 DoubleLi 阅读(2751) 评论(0) 推荐(0) 编辑

摘要:条款1:不要把一个原生指针给多个shared_ptr管理int* ptr = new int;shared_ptr p1(ptr);shared_ptr p2(ptr); //logic errorptr对象被删除了2次这种问题比喻成“二龙治水”,在原生指针中也同样可能发生。条款2:不要把this指... 阅读全文
posted @ 2014-08-13 23:23 DoubleLi 阅读(1031) 评论(0) 推荐(0) 编辑

摘要:本站文章除注明转载外,均为本站原创或者翻译。本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;本文标题:修改Visual Studio Express 2012新建C++文件编码... 阅读全文
posted @ 2014-08-13 15:00 DoubleLi 阅读(819) 评论(0) 推荐(0) 编辑

摘要:thread_group是boost库中的线程池类,内部使用的是boost::thread。随着C++ 11标准的制定和各大编译器的新版本的推出(其实主要是VS2012的推出啦……),本着能用标准库就用标准库的指导原则,决定把项目中多线程相关的部分代码从boost::thread迁移到std::th... 阅读全文
posted @ 2014-08-12 23:12 DoubleLi 阅读(7014) 评论(0) 推荐(0) 编辑

摘要:下面是一个生产者消费者问题,来介绍condition_variable的用法。当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程。消费者wait 直到生产者通知其状态发生改变,Condition_variable是使用方法如下:·当持有锁之后,线程调用wa... 阅读全文
posted @ 2014-08-12 23:06 DoubleLi 阅读(1041) 评论(0) 推荐(0) 编辑

摘要:C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件、、、等用于支持多线程。使用C++11开启一个线程是比较简单... 阅读全文
posted @ 2014-08-12 23:04 DoubleLi 阅读(963) 评论(0) 推荐(0) 编辑

摘要:C++11多线程教学II从我最近发布的C++11线程教学文章里,我们已经知道C++11线程写法与POSIX的pthreads写法相比,更为简洁。只需很少几个简单概念,我们就能搭建相当复杂的处理图片程序,但是我们回避了线程同步的议题。在接下来的部分,我们将进入C++11多线程编程的同步领域,看看如何来... 阅读全文
posted @ 2014-08-12 23:03 DoubleLi 阅读(4254) 评论(0) 推荐(0) 编辑

摘要:本篇教学代码可在GitHub获得:https://github.com/sol-prog/threads。在之前的教学中,我展示了一些最新进的C++11语言内容:1.正则表达式(http://solarianprogrammer.com/2011/10/12/cpp-11-regex-tutoria... 阅读全文
posted @ 2014-08-12 23:00 DoubleLi 阅读(9020) 评论(0) 推荐(2) 编辑

摘要:问题背景[cpp]view plaincopy#includeusingnamespacestd;vectordoubleValues(constvector&v){vectornew_values(v.size());for(autoitr=new_values.begin(),end_itr=n... 阅读全文
posted @ 2014-08-12 22:48 DoubleLi 阅读(3946) 评论(1) 推荐(2) 编辑

摘要:声明:本文是在Alex Allain的文章http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html的基础上写成的。加入了很多个人的理解,不是翻译。转载请注明出处 http://blog... 阅读全文
posted @ 2014-08-12 22:46 DoubleLi 阅读(1264) 评论(0) 推荐(1) 编辑

摘要:声明:本文参考了Alex Allain的文章http://www.cprogramming.com/c++11/c++11-lambda-closures.html加入了自己的理解,不是简单的翻译C++11终于知道要在语言中加入匿名函数了。匿名函数在很多时候可以为编码提供便利,这在下文会提到。很多语... 阅读全文
posted @ 2014-08-12 22:38 DoubleLi 阅读(52691) 评论(1) 推荐(5) 编辑

摘要:boost 循环缓冲区[cpp]view plaincopy#includeint_tmain(intargc,_TCHAR*argv[]){boost::circular_buffercb(3);//Insertsomeelementsintothebuffer.cb.push_back(1);c... 阅读全文
posted @ 2014-08-11 23:32 DoubleLi 阅读(2222) 评论(0) 推荐(0) 编辑

摘要:boost::property_tree读取解析.xml文件1)read_xml 支持中文路径 boost::property_tree::wptree wpt; std::locale::global(std::locale("")); boost::property_tree::xml_pars... 阅读全文
posted @ 2014-08-11 23:28 DoubleLi 阅读(4157) 评论(0) 推荐(0) 编辑

摘要:boost::property_tree读取解析ini文件[cpp]view plaincopy#include"stdafx.h"#include#include#includeintmain(){boost::property_tree::ptreept;boost::property_tree... 阅读全文
posted @ 2014-08-11 23:27 DoubleLi 阅读(8382) 评论(0) 推荐(0) 编辑

摘要:ffmpeg的调用命令如下:ffmpeg -re -i xxx.mp4 -vcodec copy -acodec copy -f rtsp rtsp://127.0.0.1/live/mystream用ffmpeg做输入测试ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -v... 阅读全文
posted @ 2014-08-11 23:25 DoubleLi 阅读(2176) 评论(0) 推荐(0) 编辑

摘要:crtmpserver流媒体服务器的介绍与搭建(2012-02-29 11:28)标签:crtmpserverC++ RTMP ServerrtmpAdobe FMS(Flash Med流媒体服务器 分类:crtmpserver前言 Adobe的FMS(Flash Media Server)是很... 阅读全文
posted @ 2014-08-11 23:22 DoubleLi 阅读(4220) 评论(0) 推荐(0) 编辑

摘要:1、实现多线程方法:其实就是多个线程同时调用io_service::run for (int i = 0; i != m_nThreads; ++i) { boost::shared_ptr pTh(new boost::thread( boost::bind(&... 阅读全文
posted @ 2014-08-11 23:19 DoubleLi 阅读(18996) 评论(1) 推荐(0) 编辑

摘要:一、命令行解析tprogram_options解析命令行参数示例代码:[cpp]view plaincopy#includeusingnamespacestd;#includenamespacepo=boost::program_options;intmain(intargc,char*argv[]... 阅读全文
posted @ 2014-08-11 23:18 DoubleLi 阅读(13799) 评论(1) 推荐(0) 编辑

摘要:#include #include ...boost::property_tree::ptree pt;boost::property_tree::ini_parser::read_ini("config.ini", pt);std::cout ("Section1.Value1") ("Secti... 阅读全文
posted @ 2014-08-11 23:05 DoubleLi 阅读(523) 评论(0) 推荐(0) 编辑

摘要:Boost.PropertyTree 应该是 Boost 1.41.0 开始正式加入 Boost 版本的。目前 ( 2010/02/28 ) 能下到的最新版本是 1.42.0。主要作用/应用场合Boost.PropertyTree 提供了一种结构化的数据存储容器。并且提供了一系列的解释器可以将内存中... 阅读全文
posted @ 2014-08-11 23:02 DoubleLi 阅读(3033) 评论(0) 推荐(0) 编辑

摘要:Five Minute TutorialThis tutorial uses XML. Note that the library is not specifically bound to XML, and any other supported format (such as INI or JSO... 阅读全文
posted @ 2014-08-11 22:36 DoubleLi 阅读(3840) 评论(0) 推荐(0) 编辑

摘要:当使用xml_parser进行读xml时,如果遇到中文字符会出现解析错误。网上有解决方案说使用wptree来实现,但当使用wptree来写xml时也会出错。而使用ptree来写中文时不会出错。综合以上信息,尝试使用ptree来写xml,而用wptree来读。以一个demo来说明吧。1 //包含文件2... 阅读全文
posted @ 2014-08-11 22:34 DoubleLi 阅读(616) 评论(0) 推荐(0) 编辑

摘要:property_tree是专为配置文件而写,支持xml,ini和json格式文件ini比较简单,适合简单的配置,通常可能需要保存数组,这时xml是个不错的选择。使用property_tree也很简单,boost自带的帮助中有个5分钟指南http://www.boost.org/doc/libs/1... 阅读全文
posted @ 2014-08-11 22:32 DoubleLi 阅读(1457) 评论(0) 推荐(0) 编辑

摘要:boost 官网http://www.boost.org/下载页面http://sourceforge.net/projects/boost/files/boost/1.53.0/我下载的是boost_1_53_0.tar.gz使用系统 ubuntu 12.10一、解压[plain]view pla... 阅读全文
posted @ 2014-08-11 22:31 DoubleLi 阅读(3063) 评论(0) 推荐(0) 编辑

摘要:引用计数是对共享的动态内存的一种管理方法,STL库的string就是用到了引用计数的方法。本文简单描述引用计数的原理,重点以一个实例来说明怎么在程序中实现引用计数。1. 概念引用计数用来记录当前有多少指针指向同一块动态分配的内存。当有指针指向这块内存时,计数器加1;当指向此内存的指针销毁时,计数器减... 阅读全文
posted @ 2014-08-11 14:45 DoubleLi 阅读(1390) 评论(3) 推荐(0) 编辑

摘要:智能指针(auto_ptr)这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。1. auto_ptr是什么?auto_ptr 是C++标准库提供... 阅读全文
posted @ 2014-08-11 14:44 DoubleLi 阅读(1920) 评论(0) 推荐(0) 编辑

摘要:参考来源:http://blog.csdn.net/flying8127/article/details/1598521在原来原基础上,将代码整理,并加强安全性. 并按照WindowsAPI设计, 添加输出缓冲长度探测功能当OutUTFString为NULL时, 可以进行输出的UTF8字符串长度探测... 阅读全文
posted @ 2014-08-10 23:30 DoubleLi 阅读(610) 评论(0) 推荐(0) 编辑

摘要:windows开发环境下用VC++6.0对unicode 、utf-8、 gb2312 三种编码格式之间的转换方法:[cpp]view plaincopy#include#include#includeusingnamespacestd;voidunicodeToUTF8(constwstring&... 阅读全文
posted @ 2014-08-10 23:25 DoubleLi 阅读(6491) 评论(3) 推荐(1) 编辑

摘要:staticstd::wstringMBytesToWString(constchar*lpcszString);staticstd::stringWStringToMBytes(constwchar_t*lpwcszWString);staticstd::wstringUTF8ToWStrin... 阅读全文
posted @ 2014-08-10 23:23 DoubleLi 阅读(14476) 评论(0) 推荐(1) 编辑

摘要:ATL宏:USES_CONVERSION;W2AA2WCString StringUtil::UTF8_to_UNICODE(const char *utf8_string, int length){int wcsLen = ::MultiByteToWideChar(CP_UTF8, NULL, ... 阅读全文
posted @ 2014-08-10 23:20 DoubleLi 阅读(2150) 评论(0) 推荐(0) 编辑

摘要:今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计... 阅读全文
posted @ 2014-08-10 23:18 DoubleLi 阅读(337) 评论(0) 推荐(0) 编辑

摘要:#include #include #include #include #include using namespace boost::uuids;using namespace std;int main(){ //------------------------- // 一些std函数的应用 //... 阅读全文
posted @ 2014-08-07 15:31 DoubleLi 阅读(2259) 评论(0) 推荐(0) 编辑

摘要:uuid:uuid库是一个小的使用工具,可以表示和生成UUIDUUID是University Unique Identifier的缩写,它是一个128位的数字(16字节),不需要有一个中央认证机构就可以创建全国唯一的标示符。别名:GUIDuuid位于名字空间boost::uuisd,没有集中的头文件... 阅读全文
posted @ 2014-08-07 15:30 DoubleLi 阅读(1043) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示