摘要:安装完Fedora20后,把Nvidia驱动装上后重起机器一直黑屏时,切换到命令行下:Alt+F2 登陆上去,然后直接更新: su -c ‘yum update’ ,再重起就OK了。
阅读全文
08 2014 档案
摘要:在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件。但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案。一、测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序——//#if _MSC_VER >=...
阅读全文
摘要:1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。下面是一些编译器版本的_MSC_VER值...
阅读全文
摘要:Boost.DateTime库提供了时间日期相关的计算、格式化、转换、输入输出等等功能,为C++的编程提供了便利。不过它有如下特点:1. Boost.DateTime 只支持1400年以后的任何Gregorian日历日期。如果你需要计算再早的日期,则需要寻求其他库来支持。日期和时间是编程过程中常用的...
阅读全文
摘要:本篇紧接着boost上篇叙述Boost::DateTime的时间处理。在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime。构造ptime1.ptime的构造函数有四种:1: using namespace boost::posix_time;2: ...
阅读全文
摘要:C++11支持range-based for循环。这是一个很方便的特性,能省挺多代码。以下代码就能很方便的遍历vector中的元素,并打印出来:12345678std::vector int_vec;int_vec.push_back(1);int_vec.push_back(2);//如果要修改i...
阅读全文
摘要:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file o...
阅读全文
摘要:引言: CentOS自带的yum源中rpm包数量有限,很多时候找不到我们需的软件包,(例如:要安装网络连接查看软件iftop,默认设置下无法使用yum命令安装),下面教大家在CentOS 6.2中(以32位系统为例,64位系统安装方法一样),使用第三方yum源来安装更多软件包。一、安装CentOS ...
阅读全文
摘要:linux下安装软件包有两种方法:源文件编译安装(source)和rpm 安装。1.源文件包安装的通用方法。 一般安装源代码的程序你得要看它的README,一般在它的目录下都有的。01.配置: 构建应用的第一步就是执行configure脚本,该脚本位于程式源文件的主目录下: [root@localh...
阅读全文
摘要:1.如果这个库文件已经存在使用rpm命令:# rpm -qf/file/path (绝对路径)例如:# rpm -qf /lib/libm.so.6glibc-2.12-1.47.el6.i686当然,这适用于rpm包已经安装了的情况。如果,没有安装呢?比如系统提示缺少某个库?2.如果这个库文件不存...
阅读全文
摘要:author:lidabo装了好多次系统,每次装的时候都有要在网上各种查,太麻烦了。所以决定记录一下,以后用到的时候会方便一些。当然,本文来源于网络,取百家之长,最重要的是本人已验证过,说明对本系统是可行的。在CentOS7上安装Codelocks的过程。1.安装gcc,需要c和c++两部分,默认安...
阅读全文
摘要:来到Linux世界中已有一段时间了,感觉上好像自己的电脑成了一个孤岛。周围的人都还是用Windows系统,能相互共享文件,我用Linux系统,别人的共享文件都还不知道怎么访问?通过网上查资料学习,现在知道了。写笔记啦,用CentOS访问局域网中的Windows共享文件。网上很多都讲用下面方法:# m...
阅读全文
摘要:本文提供了在Windows下用Eclipse+CDT+MinGW搭建C / C++开发平台的方法,测试平台为Windows XP Sp2 CHS。以下软件均为Windows平台下的版本。1、安装JDK,目的是为了Eclipse的运行。目前版本是jdk-1_5_0_06-windows-i586-p....
阅读全文
摘要:MinGW是Minimalist GNU for Windows的缩写,是把linux下的GNU开发工具包移植到windows的项目之一。和Cygwin不一样的是,MinGW不提供linux的posix运行系统的模拟层,而是直接使用windows的运行库,因而开发的windows的程序可以说是原生的...
阅读全文
摘要:MinGW是什么?MinGW是建立在gcc和binutils项目上的,用来编译和连接代码,使之运行在windows系统上;提供c、c++和fortran编译器和相关工具;MinGW=Minimalist GNU for Windows;MinGW使用微软的运行库,生成Windows下的代码;因为不使...
阅读全文
摘要:查询一些RTMP的协议封装时找到了一些RTMP开源项目,在这里列举一下,以后有时间或是有兴趣可以参考一下:just very few of them.Red5only contains a server-implementation (in java).The python projectrtmpy...
阅读全文
摘要:3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU(http://www.gnu.org/)的工具集,特别是GNU 程序开发工具,如经典gcc, g++, ma...
阅读全文
摘要:1、在.proto文件中定义消息格式2、使用protobuf编译器3、使用c++ api来读写消息0、为何使用protobuf?1、原始内存数据结构,可以以二进制方式sent/saved.这种方式需要相同的内存布局和字节序。2、以ad-hoc方式将数据项编码成一个简单字符串----比如,将4个int...
阅读全文
摘要:Q: 那个auto_ptr是什么东东啊?为什么没有auto_array?A: 哦,auto_ptr是一个很简单的资源封装类,是在头文件中定义的。它使用“资源分配即初始化”技术来保证资源在发生异常时也能被安全释放(“exception safety”)。一个auto_ptr封装了一个指针,也可以被当作...
阅读全文
摘要:boost中提供了几种智能指针方法:scoped_ptr shared_ptr intrusive_ptr weak_ptr,而标准库中提供的智能指针为auto_ptr.这其中,我最喜欢,使用最多的是shared_ptr,也最让人随心所欲.使用很简单,如下:头文件 class A{virtual v...
阅读全文
摘要:条款1:不要把一个原生指针给多个shared_ptr管理int* ptr = new int;shared_ptr p1(ptr);shared_ptr p2(ptr); //logic errorptr对象被删除了2次这种问题比喻成“二龙治水”,在原生指针中也同样可能发生。条款2:不要把this指...
阅读全文
摘要:本站文章除注明转载外,均为本站原创或者翻译。本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;本文标题:修改Visual Studio Express 2012新建C++文件编码...
阅读全文
摘要:thread_group是boost库中的线程池类,内部使用的是boost::thread。随着C++ 11标准的制定和各大编译器的新版本的推出(其实主要是VS2012的推出啦……),本着能用标准库就用标准库的指导原则,决定把项目中多线程相关的部分代码从boost::thread迁移到std::th...
阅读全文
摘要:下面是一个生产者消费者问题,来介绍condition_variable的用法。当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程。消费者wait 直到生产者通知其状态发生改变,Condition_variable是使用方法如下:·当持有锁之后,线程调用wa...
阅读全文
摘要:C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件、、、等用于支持多线程。使用C++11开启一个线程是比较简单...
阅读全文
摘要:C++11多线程教学II从我最近发布的C++11线程教学文章里,我们已经知道C++11线程写法与POSIX的pthreads写法相比,更为简洁。只需很少几个简单概念,我们就能搭建相当复杂的处理图片程序,但是我们回避了线程同步的议题。在接下来的部分,我们将进入C++11多线程编程的同步领域,看看如何来...
阅读全文
摘要:本篇教学代码可在GitHub获得:https://github.com/sol-prog/threads。在之前的教学中,我展示了一些最新进的C++11语言内容:1.正则表达式(http://solarianprogrammer.com/2011/10/12/cpp-11-regex-tutoria...
阅读全文
摘要:问题背景[cpp]view plaincopy#includeusingnamespacestd;vectordoubleValues(constvector&v){vectornew_values(v.size());for(autoitr=new_values.begin(),end_itr=n...
阅读全文
摘要:声明:本文是在Alex Allain的文章http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html的基础上写成的。加入了很多个人的理解,不是翻译。转载请注明出处 http://blog...
阅读全文
摘要:声明:本文参考了Alex Allain的文章http://www.cprogramming.com/c++11/c++11-lambda-closures.html加入了自己的理解,不是简单的翻译C++11终于知道要在语言中加入匿名函数了。匿名函数在很多时候可以为编码提供便利,这在下文会提到。很多语...
阅读全文
摘要:boost 循环缓冲区[cpp]view plaincopy#includeint_tmain(intargc,_TCHAR*argv[]){boost::circular_buffercb(3);//Insertsomeelementsintothebuffer.cb.push_back(1);c...
阅读全文
摘要:boost::property_tree读取解析.xml文件1)read_xml 支持中文路径 boost::property_tree::wptree wpt; std::locale::global(std::locale("")); boost::property_tree::xml_pars...
阅读全文
摘要:boost::property_tree读取解析ini文件[cpp]view plaincopy#include"stdafx.h"#include#include#includeintmain(){boost::property_tree::ptreept;boost::property_tree...
阅读全文
摘要: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...
阅读全文
摘要:crtmpserver流媒体服务器的介绍与搭建(2012-02-29 11:28)标签:crtmpserverC++ RTMP ServerrtmpAdobe FMS(Flash Med流媒体服务器 分类:crtmpserver前言 Adobe的FMS(Flash Media Server)是很...
阅读全文
摘要:1、实现多线程方法:其实就是多个线程同时调用io_service::run for (int i = 0; i != m_nThreads; ++i) { boost::shared_ptr pTh(new boost::thread( boost::bind(&...
阅读全文
摘要:一、命令行解析tprogram_options解析命令行参数示例代码:[cpp]view plaincopy#includeusingnamespacestd;#includenamespacepo=boost::program_options;intmain(intargc,char*argv[]...
阅读全文
摘要:#include #include ...boost::property_tree::ptree pt;boost::property_tree::ini_parser::read_ini("config.ini", pt);std::cout ("Section1.Value1") ("Secti...
阅读全文
摘要:Boost.PropertyTree 应该是 Boost 1.41.0 开始正式加入 Boost 版本的。目前 ( 2010/02/28 ) 能下到的最新版本是 1.42.0。主要作用/应用场合Boost.PropertyTree 提供了一种结构化的数据存储容器。并且提供了一系列的解释器可以将内存中...
阅读全文
摘要: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...
阅读全文
摘要:当使用xml_parser进行读xml时,如果遇到中文字符会出现解析错误。网上有解决方案说使用wptree来实现,但当使用wptree来写xml时也会出错。而使用ptree来写中文时不会出错。综合以上信息,尝试使用ptree来写xml,而用wptree来读。以一个demo来说明吧。1 //包含文件2...
阅读全文
摘要:property_tree是专为配置文件而写,支持xml,ini和json格式文件ini比较简单,适合简单的配置,通常可能需要保存数组,这时xml是个不错的选择。使用property_tree也很简单,boost自带的帮助中有个5分钟指南http://www.boost.org/doc/libs/1...
阅读全文
摘要: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...
阅读全文
摘要:引用计数是对共享的动态内存的一种管理方法,STL库的string就是用到了引用计数的方法。本文简单描述引用计数的原理,重点以一个实例来说明怎么在程序中实现引用计数。1. 概念引用计数用来记录当前有多少指针指向同一块动态分配的内存。当有指针指向这块内存时,计数器加1;当指向此内存的指针销毁时,计数器减...
阅读全文
摘要:智能指针(auto_ptr)这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。1. auto_ptr是什么?auto_ptr 是C++标准库提供...
阅读全文
摘要:参考来源:http://blog.csdn.net/flying8127/article/details/1598521在原来原基础上,将代码整理,并加强安全性. 并按照WindowsAPI设计, 添加输出缓冲长度探测功能当OutUTFString为NULL时, 可以进行输出的UTF8字符串长度探测...
阅读全文
摘要:windows开发环境下用VC++6.0对unicode 、utf-8、 gb2312 三种编码格式之间的转换方法:[cpp]view plaincopy#include#include#includeusingnamespacestd;voidunicodeToUTF8(constwstring&...
阅读全文
摘要:staticstd::wstringMBytesToWString(constchar*lpcszString);staticstd::stringWStringToMBytes(constwchar_t*lpwcszWString);staticstd::wstringUTF8ToWStrin...
阅读全文
摘要:ATL宏:USES_CONVERSION;W2AA2WCString StringUtil::UTF8_to_UNICODE(const char *utf8_string, int length){int wcsLen = ::MultiByteToWideChar(CP_UTF8, NULL, ...
阅读全文
摘要:今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计...
阅读全文
摘要:#include #include #include #include #include using namespace boost::uuids;using namespace std;int main(){ //------------------------- // 一些std函数的应用 //...
阅读全文
摘要:uuid:uuid库是一个小的使用工具,可以表示和生成UUIDUUID是University Unique Identifier的缩写,它是一个128位的数字(16字节),不需要有一个中央认证机构就可以创建全国唯一的标示符。别名:GUIDuuid位于名字空间boost::uuisd,没有集中的头文件...
阅读全文