- 博客(36)
- 资源 (43)
- 收藏
- 关注
转载 boost之路 十六 类型转换操作符
Boost.Conversion 库由两个文件组成。分别在boost/cast.hpp 文件中定义了 boost::polymorphic_cast 和boost::polymorphic_downcast 这两个类型转换操作符, 在 boost/lexical_cast.hpp 文件中定义了 boost::lexical_cast。boost::polymorphic_c
2016-08-29 15:22:03 963
转载 boost之路 十五 错误处理
Boost.System 是一个定义了四个类的小型库,用以识别错误。boost::system::error_code 是一个最基本的类,用于代表某个特定操作系统的异常。 由于操作系统通常枚举异常,boost::system::error_code 中以变量的形式保存错误代码int。 下面的例子说明了如何通过访问 Boost.Asio 类来使用这个类。#include #i
2016-08-29 15:21:06 2434
转载 boost之路 十四 数据结构
Boost.Tuple 库提供了一个更一般的版本的std::pair —— boost::tuple 。 不过std::pair 只能储存两个值而已, boost::tuple 则给了我们更多的选择。#include #include #include #include int main() { typedef boost::tuple person;
2016-08-29 15:20:11 508
转载 boost之路 十三 容器
库 Boost.Array 在boost/array.hpp 中定义了一个模板类 boost::array 。 通过使用这个类, 你可以创建一个跟 C++ 里传统的数组有着相同属性的容器。 而且,boost::array 还满足了 C++ 中容器的一切需求, 因此, 你可以像操作容器一样方便的操作这个 array。 基本上, 你可以把boost::array 当成 std::v
2016-08-29 15:19:16 3817
转载 boost 之路 十二 词法分析器
Backus-Naur 范式,简称 BNF,是一种精确描述规则的语言,被应用于多种技术规范。 例如,众多互联网协议的许多技术规范,称为 RFC,除了文字说明以外,都包含了以 BNF 编写的规则。Boost.Spirit 支持扩展BNF范式(EBNF),可以用比 BNF 更简短的方式来指定规则。 EBNF 的主要优点就是简短,从而写法更简单。请注意,EBNF 有几种不同的变体,它们的
2016-08-29 15:18:18 1021
转载 boost之路 十一 序列化
Boost.Serialization 的主要概念是归档。 归档的文件是相当于序列化的 C++ 对象的一个字节流。 对象可以通过序列化添加到归档文件,相应地也可从归档文件中加载。 为了恢复和之前存储相同的 C++ 对象,需假定数据类型是相同的。下面看一个简单的例子。#include #include int main() { boost::archive::tex
2016-08-29 15:17:34 3258
转载 boost之路 十 日期与时间
Boost.DateTime 只支持基于格里历的历法日期,这通常不成问题,因为这是最广泛使用的历法。 如果你与其它国家的某人有个会议,时间在2010年1月5日,你可以期望无需与对方确认这个日期是否基于格里历。格里历是教皇 Gregory XIII 在1582年颁发的。 严格来说,Boost.DateTime 支持由1400年至9999年的历法日期,这意味着它支持1582年以前的日期。
2016-08-29 15:16:42 2246
转载 boost之路 九 文件系统
boost::filesystem::path 是 Boost.Filesystem 中的核心类,它表示路径的信息,并提供了处理路径的方法。实际上,boost::filesystem::path 是 boost::filesystem::basic_path 的一个 typedef。 此外还有一个boost::filesystem::wpath 是 boost::filesys
2016-08-29 15:15:51 453
转载 boost之路 八 进程间通讯
共享内存通常是进程间通讯最快的形式。 它提供一块在应用程序间共享的内存区域。 一个应用能够在另一个应用读取数据时写数据。这样一块内存区用 Boost.Interprocess 的 boost::interprocess::shared_memory_object 类表示。 为使用这个类,需要包含boost/interprocess/shared_memory_object.hpp
2016-08-29 15:14:58 2469
转载 boost之路 七 异步输入输出
使用 Boost.Asio 进行异步数据处理的应用程序基于两个概念:I/O 服务和 I/O 对象。 I/O 服务抽象了操作系统的接口,允许第一时间进行异步数据处理,而 I/O 对象则用于初始化特定的操作。 鉴于 Boost.Asio 只提供了一个名为boost::asio::io_service 的类作为 I/O 服务,它针对所支持的每一个操作系统都分别实现了优化的类,另外库中还包含了
2016-08-29 15:14:13 1026
转载 boost之路 六 多线程
在这个库最重要的一个类就是 boost::thread,它是在 boost/thread.hpp 里定义的,用来创建一个新线程。下面的示例来说明如何运用它。#include #include void wait(int seconds) { boost::this_thread::sleep(boost::posix_time::seconds(seconds))
2016-08-29 15:12:53 481
转载 boost之路 五 字符串处理
在标准 C++ 中,用于处理字符串的是 std::string 类,它提供很多字符串操作,包括查找指定字符或子串的函数。 尽管std::string 囊括了百余函数,是标准 C++ 中最为臃肿的类之一,然而却并不能满足很多开发者在日常工作中的需要。 例如, Java 和 .Net 提供了可以将字符串转换到大写字母的函数,而std::string 就没有相应的功能。 Boost
2016-08-29 15:11:50 553
原创 boost之路四 事件处理
虽然这个库的名字乍一看好象有点误导,但实际上并非如此。 Boost.Signals 所实现的模式被命名为 '信号至插槽' (signal to slot),它基于以下概念:当对应的信号被发出时,相关联的插槽即被执行。 原则上,你可以把单词 '信号' 和 '插槽' 分别替换为 '事件' 和 '事件处理器'。 不过,由于信号可以在任意给定的时间发出,所以这一概念放弃了 '事件' 的名字。因
2016-08-29 15:10:40 686
原创 boost之路三 函数对象
Boost.Bind 是这样的一个库,它简化了由C++标准中的 std::bind1st() 和std::bind2nd() 模板函数所提供的一个机制:将这些函数与几乎不限数量的参数一起使用,就可以得到指定签名的函数。 这种情形的一个最好的例子就是在C++标准中定义的多个不同算法。#include #include #include void print(int i)
2016-08-29 15:09:40 638
转载 boost之路 二 智能指针
智能指针的原理基于一个常见的习语叫做 RAII :资源申请即初始化。 智能指针只是这个习语的其中一例——当然是相当重要的一例。 智能指针确保在任何情况下,动态分配的内存都能得到正确释放,从而将开发人员从这项任务中解放了出来。 这包括程序因为异常而中断,原本用于释放内存的代码被跳过的场景。 用一个动态分配的对象的地址来初始化智能指针,在析构的时候释放内存,就确保了这一点。 因为析构函数总是会
2016-08-29 15:08:03 644
原创 boost之路 一
boost很强大,有了他,我们开发程序方便了不少,很多都写好的模板直接用,要是自己去写的话就蛋疼了,涉及到很多算法啊,系统接口啊,就很累了,但是boost已经封装好的模板直接调用就可以实现了,所以,开发速度上会提高不少。boost总共有90多个库,以后会更多,学起来就很累 了,但是常用的也就四十多个下面我们来看看是哪些吧简要说明Boost.Any Boost
2016-08-29 14:53:35 621
原创 cef3如何生成vs2013项目
cef3如何生成vs2013项目我们从网上下载了cef3的源文件。一般下载下来后cef_binary_3.2454.1344.g2782fb8_windows32是这样一个文件夹,cef3的二进制文件,我的版本是:2454.1344的win32的,里面有几个文件夹和几个文件,那么怎样去生成vs2013的项目呢,那就要下载工CMake了,我用的是CMake3.3.2版本的,还有就是必
2016-08-29 11:49:33 2205
原创 CEF3的各个类的作用和实现
CEF3的各个类的作用和实现 cef3刚刚接触的时候确实有点乱,连主入口函数都找不到,现在基本上算是摸清楚了,下面是cef3的主要类:CefContextMenuHandler,回调类,主要用于处理 Context Menu 事件。CefDialogHandler,回调类,主要用来处理对话框事件
2016-08-29 10:45:01 4903
原创 windows下c++抓包实例
windows下c++抓包实例1,第一步是安装WinPcap软件http://pan.baidu.com/s/1slGiedv这是我放在网盘里的2,第二步就是下载WpdPack开发包http://pan.baidu.com/s/1jIFGw3W这是我放在网盘里的里面有vs2013的安装方法,其实就是把两个文件include和lib文件夹下的内容拷贝到vs下面的相应文件下面3
2016-08-26 16:54:04 5831 1
原创 关于'remote-ext.h'无法打开原文件
1,首先看看有没有'remote-ext.h'这个文件存在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include目录下。2,如果有也不要这样引用此头文件, 本来你该#include "'remote-ext.h"引用的,但是会错,所以改成另外的方式#define HAVE_REMOTE
2016-08-26 14:02:08 2213 1
原创 localtime替换为localtime_s
struct tm *ltime=NULL;//定义结构体变量time_t local_tv_sec = time(NULL);//定义时间错//ltime = localtime(&local_tv_sec);//转换,vs2013会报错,说不安全,localtime_s(ltime, &local_tv_sec);//所以用localtime_s替换
2016-08-26 11:19:04 5763 1
原创 winpcap程序员开发包下载
链接网址:http://pan.baidu.com/s/1jIFGw3W这是我放在网盘里的,里面解压后又安装方法,希望能对大家有用
2016-08-26 10:29:03 1621 1
原创 c++音频播放,wav格式的
c++音频播放,wav格式的c++播放音频文件我搞了很久都没有搞清楚,播放视频可以用opencv,但是音频就没有库来实现,只有两个简单的函数,mciSendString()和 PlaySound(path, NULL, SND_FILENAME | SND_ASYNC);但是他们在windows下只能播放wav格式的音乐,mp3格式的播放不了。要想播放MP3格式的还是用ffmpeg
2016-08-26 09:13:07 2396
原创 c++获取ip地址
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;#pragma comment(lib,"Iphlpapi.lib") //需要添加Iphlpapi.lib库int _tmain(int
2016-08-25 16:08:23 1193
原创 c多线程那点事儿
c多线程那点事儿#include //创建线程HANDLE hand=CreateThread (NULL, 0, MTOne, (void*)&inp, CREATE_SUSPENDED, NULL);//运行线程ResumeThread(hand); //暂停线程 SuspendThread(hand); //终止线程 Ter
2016-08-25 11:38:14 547
原创 一键关闭所有应用程序
一键关闭所有应用程序在电脑上新建一个快捷键然后将C:\Windows\System32\taskkill.exe /F /FI "USERNAME eq Administrator" /FI "IMAGENAME ne explorer.exe" /FI "IMAGENAME ne dwm.exe"这段代码复制进去,在Administrator这里是用户名,我是用的Administ
2016-08-25 10:31:35 1399
原创 c++实现右下角弹窗
c++实现右下角弹窗我们看到有很多程序都有右下角弹出广告的情况,总是弹出广告来,关都关不了,网页上弹窗很好实现,html或者js,都可以做到,但是c++怎么去实习呢,确实,有点奇葩,首先,我们要吧这个窗口写好,怎么写呢,创建一个vs2013的win32工程项目,创建mfc窗口也可以,代码自己就出来了,然后在,创建窗口的函数里改一下窗口的类型和位置就可以了, hWnd = C
2016-08-25 09:55:42 5264 1
原创 c++或者c如何创建文件夹
c++或者c如何创建文件夹怎么样用代码去创建一个文件夹,是很多刚学c++或者c的人的一个难题,c的代码 system("md c:\\mydir");//创建一个mydir文件夹 system("md c:\\mydir\\pushsys");//在mydir下面创建一个pushsys文件夹 c++的代码就要麻烦些了头文件:#include "shl
2016-08-25 09:49:55 846
原创 WCHAR等宽体字符的转换
WCHAR等宽体字符的转换1,首先是WCHAR转成char WCHAR wc2[5]; char str[10]; wcstombs(str, wc2, 9); 2,char到WCHAR WideCharToMultiByte(CP_ACP, NULL, wc2, wcslen(wc2) + 1, str, 10, 0, 0);或者 WCHAR wsz
2016-08-25 09:40:16 577
原创 c++共享内存的实例
c++共享内存的实现 很多时候,我们要用到多线程,和多进程,但是进程之间的通讯有很多种,实用点儿的容易理解和学习的也就是共享内存了,下面我们就来看看吧! 首先,我们要做的就是创建一个共享内存的结构体,你也可以创建数组或者其他的都可以typedef struct _TShareMem{ char Data[256];}TShareMem;//创建共享
2016-08-25 09:31:12 3502
原创 c++如何将文件复制到其他地方
c++如何将文件复制到其他地方 最近,我在写应用程序,要用到的是将一个目录下的文件复制到其他文件里去,就发出来看看吧,// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include#include#include #includeus
2016-08-25 09:13:48 10627
原创 c++如何关闭进程,比如网吧收银系统
关闭网吧收银系统程序 我想有很多人跟我一样有一个黑客的心,但是这条路是漫长的,成为大神不是一早一夕可以达到的,一步步来吧,很多人都有去网吧打游戏,最近很火的是LOL英雄联盟,我也打,每个周末都去网吧,但是最烦恼的是要钱,,嘿嘿,你懂的, 网吧的收银系统进程即使你进入任务管理器找到了他的进程然后结束他,但是几秒后他又自动启动了,其实,这是因为,它有另外一个其它进
2016-08-24 17:46:43 2030
原创 c++如何获取一个文件夹下面的所有文件
在最近的项目中,有一个需求,就是删除缓存 目录中不相关文件,这个就把我伤到了,经过一番查询,直接给出代码吧// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"stdio.h"#include"assert.h"#include"stdlib.h"#include"winsock
2016-08-24 17:35:45 1194
原创 c++怎样去启动电脑的其他程序
c++怎样去启动电脑的其他程序 在我刚刚学习完c,和c++出来工作的时候,遇到一个问题,就是怎么去启动电脑里的其他程序,不看不知道,一看吓一跳,其实很简单,就是一个创建进程的函数CreateProcessW();在#include头文件里面。用vs,vc都可以。 首先,我们需要找到我们要启动的程序的路径,比如QQ音乐;那我们就要获取他的路径
2016-08-24 17:13:01 2162
Qt下载地址(1).rar
2020-12-29
OpenGL.rar
2020-08-29
QGraphicsViewDemo
2018-11-16
arm-linux-gnueabihf交叉编译ffmpeg
2022-07-25
ffmpeg3.4.5_deepin15.03.tar.gz
2021-08-18
ffmpeg3.4.5_ubuntu16.04.64.tar.gz
2021-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人