C/C++应用
文章平均质量分 74
qccz123456
这个作者很懒,什么都没留下…
展开
-
C++应用之Boost库-filesystem
#include <iostream>#include<boost/filesystem.hpp> int main(){ boost::filesystem::path path("/test/test1"); //初始化 boost::filesystem::path old_cpath = boost::filesystem::current...原创 2018-05-09 16:27:45 · 1187 阅读 · 0 评论 -
C++应用之单元测试框架Google Test
转载:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错。 我们原来使用的是自己实现的一套单元测试框架,在使用过程中,发现越来越多使用不便之处,而这样不便之处,gtest恰恰很好的解决了。其实gtest本...转载 2018-05-11 16:40:39 · 158 阅读 · 0 评论 -
C++应用之boost解析命令行参数
#include <iostream> #include <boost/program_options.hpp>#include <boost/exception/diagnostic_information.hpp>int main(int argc, char*argv[]){ int level; boost::prog...原创 2018-05-21 13:46:15 · 1590 阅读 · 0 评论 -
C++应用之libusb-(1)usb协议介绍
USB通用串行总线,协议向下兼容: USB1.0/1.1(low/full speed),传输速率最大为12Mbps USB2.0(high speed),传输速率最大480Mbps USB3.0(super speed),传输速率最大5Gbps1 描述符(description) 一个USB接口可以兼容多种设备,如U盘、上网卡和复合设备等,还可以将一个插上后的设备虚拟出多...转载 2018-05-22 16:09:45 · 5369 阅读 · 0 评论 -
C++应用之libusb-(2)libusb说明
Introduction: libusb is an open source library that allows you to communicate with USB devices from userspace. For more info, see Their MainPage.In their documentation, they suggest you to read the us...转载 2018-05-22 16:11:35 · 2518 阅读 · 0 评论 -
C++应用之libusb-(3)libusb简单使用
#include <stdio.h>#include "libusb.h"static void print_devs(libusb_device **devs){ libusb_device *dev; int i = 0, j = 0; uint8_t path[8]; while ((dev = devs[i++]) != NULL) { struct ...原创 2018-05-22 16:14:29 · 2699 阅读 · 0 评论 -
C++应用之libusb-(4)libusb获取usb详细描述
#include <stdio.h>#include <string.h>#include "libusb.h"#if defined(_MSC_VER) && (_MSC_VER < 1900)#define snprintf _snprintf#endifint verbose = 0;static void print_end...原创 2018-05-22 16:17:04 · 5066 阅读 · 1 评论 -
C++应用之libusb-(5)libusb热插拔事件
#include <stdlib.h>#include <stdio.h>#include "libusb.h"int done = 0;libusb_device_handle *handle = NULL;static int LIBUSB_CALL hotplug_callback(libusb_context *ctx, libusb_device ...原创 2018-05-22 16:19:24 · 5062 阅读 · 2 评论 -
C++应用之解析json
多个json库比较:https://www.oschina.net/news/61942/cpp-json-compare符合标准程度(越高越好):解析至DOM的时间(越低越好):解析至DOM后的内存(越低越好):把DOM生成JSON的时间(越低越好):把DOM生成含换行及缩进的JSON的时间(越低越好):可执行文件(把JSON解析至DOM,然后统计JSON类型)的大小(越低越好):推荐Rapid...原创 2018-06-19 11:15:17 · 279 阅读 · 0 评论 -
C++应用之线程池ThreadPool
#include "ThreadPool.h"#include "StopWatch.h" #include <thread>#include <chrono>#include <iostream>void function(void){ std::cout << "f";}int main(void){ S原创 2018-06-19 14:55:55 · 1130 阅读 · 0 评论 -
C++应用之libgit2
通过我们在命令行终端中操作git库,进行版本控制。目前令人惊喜的是git居然有api可供外部开发人员使用,使用libgit2进行开发自定义的git功能了,牛!官网:https://libgit2.github.com/,C、C#、Python、Qt等开发语言都支持;环境配置,编译和连接:https://libgit2.github.com/docs/guides/build-and-link/可供...原创 2018-05-17 19:57:31 · 2386 阅读 · 0 评论 -
C++应用之HAL层文件逻辑
HAL层是硬件抽象层,指的意思就是说调用该层的api是和平台无关的,在不同的平台都能调用成功。所有我们需要对不同平台的实现进行一层封装,就HAL层。以下是文件逻辑实现:/*HAL_logic |__ HAL_logic.sh |__ HAL_logic |__ HAL_logic.vcxproj |__ main.cpp ...原创 2018-05-11 10:54:01 · 1918 阅读 · 0 评论 -
C++之Windows监听USB热插拔事件
关键词:C++、Windows、USB热插拔事件、RegisterDeviceNotification()#include <Windows.h>#include <tchar.h>#include <Dbt.h>#include <setupapi.h>#include <iostream>#include <atlst...原创 2018-04-19 16:23:30 · 11706 阅读 · 3 评论 -
C++压缩解压之snappy
引文出处:http://wiki.dreamrunner.org/public_html/C-C++/Library-Notes/Snappy.htmlSnappyTable of ContentsOverviewhomepage: http://google.github.io/snappy/git: https://github.com/转载 2018-01-10 16:36:53 · 5842 阅读 · 2 评论 -
C++常用方法之Boost
安装:在boost官网下载相应版本的库 http://www.boost.org/,再解压到/usr/local/目录下,就能使用了,如需要编译用于发布则可编译安装.so和.a库,具体如下:http://www.boost.org/doc/libs/1_62_0/more/getting_started/windows.html编译:g++ test.cpp -o test原创 2018-01-10 11:05:38 · 1228 阅读 · 0 评论 -
C++智能指针之boost
参考文献:https://www.codeproject.com/Articles/8394/Smart-Pointers-to-boost-your-codestd:: auto_ptr中的智能指针有如下缺点:(1)auto_ptr不能共享所有权;(2)auto_ptr不能指向数组;(3)auto_ptr不能作为容器的成员;(4)不能通过赋值操作来初始化auto_ptr;原创 2018-01-10 09:21:57 · 248 阅读 · 0 评论 -
C++配置文件之protobuf
$git clone https://github.com/google/protobuf.git$ cd ./protobuf/src # compilec++ only$ sudo apt-get install autoconf automake libtool curl make g++ unzip$ ./autogen.sh$ ./configure$ ma原创 2018-01-09 14:49:35 · 802 阅读 · 0 评论 -
C++命令行解析之gflags
git clone https://github.com/gflags/gflags.gitmkdir build && cdbuildccmake .. (sudo apt-get install cmake-curses-gui)makemake test (optional)makeinstall (optional)安装教程:https://gi原创 2018-01-04 17:02:56 · 590 阅读 · 0 评论 -
C++日志编程之glog
google的glog可以用于c++中记录日志,帮忙调试代码:git clone https://github.com/google/glog.git./autogen.sh./configuremake -j8sudo make installgoogle英文教程原版:/doc/glog.htmlgoogle中文翻译版:http://www.yeolar.原创 2018-01-04 14:47:53 · 954 阅读 · 1 评论 -
C++文件简单加解密
#include #include #include void encfile(char *in_filename, char *pwd, char *out_filename);/*对文件进行加密的具体函数*/void decryptfile(char* in_filename, char *pwd, char *out_filename); /*对文件解密的具体函数*/原创 2018-01-23 22:06:35 · 1384 阅读 · 0 评论 -
C++通过TinyXML类库读写XML文件
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。使用之前,需要先下载TinyXML转载 2016-10-27 10:57:06 · 798 阅读 · 0 评论 -
json学习资料
在项目中大家都会遇到需要保存参数、传输参数等操作,通常通过fstream操作,然而我们可以有更好的选择,比如xml和json,知乎中有比较xml和json的帖子,最终选择的 是json,有很多方面比xml更优秀。该网站中(http://www.oschina.net/news/61942/cpp-json-compare?utm_source=tuicool)比较了各种json的优缺点,值得一原创 2017-01-06 21:38:27 · 338 阅读 · 0 评论