C++
用于编写与C++以及相关库的使用说明
持之以恒2016
每一个选择,都是当下最好的决定
展开
-
c++ boost 使用coroutine协程
c++ boost 使用coroutine的库,编写cmake工程,等待消息的案例,和线程的方式使用协程原创 2022-10-09 22:39:21 · 616 阅读 · 1 评论 -
C++在头文件定义模板,源文件实现
【代码】C++在头文件定义模板,源文件实现。原创 2022-09-06 17:12:02 · 1211 阅读 · 0 评论 -
C++对象的拷贝
后期的修改dog._intdata.push_back(488)不会影响前面的内存空间。新建内存空间只是增加了leg的地址空间,和前面的对象共用一个内存块。新建内存空间_intdata的数据被拷贝到新的内存空间。后期的修改会导致两个对象的内容都被修改。原创 2022-09-06 17:04:49 · 603 阅读 · 0 评论 -
MongoDB在C++中的应用
安装http://mongocxx.org/mongocxx-v3/installation/linux/外部工具$ sudo apt-get install libmongoc-1.0-0$ sudo apt-get install libbson-1.0$ sudo apt-get install cmake libssl-dev libsasl2-dev安装mongo-c-driver$ git clone -v https://github.com.cnpmjs.org/mongod原创 2021-11-24 17:43:49 · 1593 阅读 · 0 评论 -
pkgconfig的使用
由于CMake的find_package有时候会发现使用不便,因此可以考虑使用pkg代替案例分析案例cmake_minimum_required(VERSION 2.8)set(APPNAME demo)project(${APPNAME})set(ENV{PKG_CONFIG_PATH} /usr/lib/pkgconfig)find_package(PkgConfig)pkg_search_module(BSON REQUIRED libbsoncxx)pkg_search_m.原创 2021-11-23 18:37:14 · 959 阅读 · 0 评论 -
C++ BitArray
bitarray.h#pragma once#include <iostream>namespace utils{ class BitArray { public: BitArray(); BitArray(uint32_t length); ~BitArray(); void Set(uint32_t index, bool value); void SetAll(bool v原创 2021-03-24 13:30:46 · 1053 阅读 · 0 评论 -
CppServer的使用
下载安装克隆代码$ git clone -v https://github.com/chronoxor/CppServer.git编译$ sudo apt install python3-pip$ pip3 install gil$ cd CppServer$ gil update$ cd build/$ ./unix.sh原创 2021-02-02 11:12:10 · 619 阅读 · 0 评论 -
c++模板template
如果存在一个函数需要处理不同类型的传参,可以考虑用模板代码举例/* * @FilePath: /template.cpp * @Author: Wilson * @Descripttion: 模板举例 * @Date: 2020-12-28 11:21:44 * @LastEditors: Wilson * @LastEditTime: 2020-12-28 11:58:34 */#include <iostream>#include <string>//原创 2020-12-28 12:31:38 · 126 阅读 · 0 评论 -
linux获取命令的输出值
/* * @FilePath: /command.cpp * @Author: Wilson * @Descripttion: * @Date: 2020-12-05 10:23:14 * @LastEditors: Wilson * @LastEditTime: 2020-12-05 12:11:02 */#include <iostream>#include <string>#include <unistd.h>bool readcomma原创 2020-12-05 12:14:07 · 1778 阅读 · 0 评论 -
grpc的使用
编译protobuf教程https://developers.google.cn/protocol-buffers/docs/tutorials$ git clone https://github.com/protocolbuffers/protobuf.git$ cd protobuf$ ./configure --prefix=$PWD/output$ make$ sudo make install$ sudo ln -s /home/wilson/net/protobuf-maste原创 2020-10-23 20:39:43 · 243 阅读 · 0 评论 -
sofa-pbrpc的使用
编译与安装下载$ git clone -v https://github.com/baidu/sofa-pbrpc.git基本使用原创 2020-10-21 17:47:27 · 316 阅读 · 0 评论 -
VSCode调试CMake工程
编写launch.json文件如果需要修改需要调试的二进制文件,可以修改"program": "${workspaceFolder}/build/testall"testall是指需要调试的二进制文件。{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, v原创 2020-09-30 16:08:10 · 1538 阅读 · 0 评论 -
Linux中使用boost
环境安装$ sudo apt-get install libboost-all-devCMakeLists.txt的编写cmake_minimum_required(VERSION 2.8)set(APPNAME demo)project(${APPNAME})find_package(gflags REQUIRED)find_package(Boost REQUIRED COMPONENTS system thread filesystem)SET(CMAKE_BUILD_TY原创 2020-09-30 10:36:28 · 447 阅读 · 0 评论 -
paho.mqtt.cpp的使用
安装部署准备工作$ sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-gui$ sudo apt-get install libssl-dev $ sudo apt-get install doxygen graphvizpaho.mqtt.c的安装$ git clone https://github.com/eclipse/paho.mqtt.c.git$ cd paho.mqtt.c$原创 2020-09-29 19:25:34 · 3407 阅读 · 0 评论 -
vcpkg的使用
编译与安装下载https://github.com/microsoft/vcpkg编译右键,使用管理员身份运行脚本结束后会生成vcpkg.exe文件使用基本命令查看支持的开源库列表>vcpkg.exe search安装开源库>vcpkg.exe install evpp移除开源库>vcpkg.exe remove evpp列出已经安装的开源库>vcpkg.exe list使用步骤集成到全局集成到全局后,计算机其他路径也可以访问其中的代原创 2020-07-16 15:42:27 · 1188 阅读 · 0 评论 -
Windows下使用mingw32
安装cmake安装mingw32下载地址: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/首次构建环境>cmake -G"Unix Makefiles" ..原创 2020-06-23 10:31:52 · 2735 阅读 · 0 评论 -
Snap7 在西门子PLC的使用
编译源码下载snap7-full-1.4.2.7zhttps://sourceforge.net/projects/snap7/files/1.4.2/下载后解压到目录下编译$ cmake ..$ make$ sudo make installSNAP7的使用代码目录结构需要把snap7.cpp和snap7.h包含进来,在源码可找到$ lsbuild CMakeLis...原创 2020-04-06 17:09:41 · 3716 阅读 · 0 评论 -
gtest的使用
编译与安装请参考下面的链接https://blog.csdn.net/wei242425445/article/details/87968490代码目录结构wilson@ubuntu:~/code/cpp/test_gtest$ tree├── build├── CMakeLists.txt├── Func│ ├── Calc.cpp│ ├── Calc.h│ ├─...原创 2020-03-29 20:21:05 · 420 阅读 · 0 评论 -
evpp的使用
编译与安装请参考下面的链接https://blog.csdn.net/wei242425445/article/details/87968490使用案例CMakeLists.txt文件的编写cmake_minimum_required(VERSION 2.8)project(demo)SET(CMAKE_BUILD_TYPE "Debug")SET(CMAKE_CXX_FLAG...原创 2020-03-24 08:44:01 · 1578 阅读 · 0 评论 -
gflags的使用
编译与安装请参考下面的链接https://blog.csdn.net/wei242425445/article/details/87968490CMakeLists.txt的编写cmake_minimum_required(VERSION 2.8)project(demo)find_package(gflags REQUIRED)aux_source_directory(. D...原创 2020-03-22 12:03:11 · 397 阅读 · 0 评论 -
glog的使用
初步使用编写初始化代码#include <glog/logging.h>int main(int argc, char* argv[]) { // Initialize Google's logging library. google::InitGoogleLogging(argv[0]); // Record. LOG(INFO)<<"hello, w...原创 2020-03-07 17:08:22 · 1626 阅读 · 0 评论 -
Ubuntu安装evpp
下载gloggit clone https://github.com/google/glog.gitcd glogsudo apt-get install autoconf automake libtoolcmake .make -j 24sudo make install或者./autogen.sh && ./configure && make...原创 2020-03-04 10:03:14 · 1009 阅读 · 0 评论 -
gdb与Cmake的使用
文章目录编写程序以及CMakeList.txt文件编译调试使用gdb运行程序查看代码查看主文件代码查看指定函数代码设置断点运行开始执行并在main第一行停下来打印内部变量手动修改变量值跟踪查看变量值继续运行直到下一个断点查看堆栈执行下一行(不进入函数)执行下一行(会进入函数)终止正在调试的任务退出调试环境编写程序以及CMakeList.txt文件代码可在下方链接查看https://githu...原创 2019-12-29 14:03:43 · 3978 阅读 · 0 评论 -
C++软件崩溃调试
软件崩溃调试原创 2019-12-10 13:30:04 · 679 阅读 · 0 评论 -
多线程Socket通信
多线程Socket通信原创 2016-09-06 17:24:22 · 562 阅读 · 0 评论 -
MFC绘图
MFC绘图原创 2016-08-24 15:24:22 · 680 阅读 · 0 评论 -
CListView操作
CListView的操作原创 2016-08-19 16:21:04 · 2099 阅读 · 0 评论 -
VS中MFC连接SQL SERVER
VS中MFC连接SQL SERVER原创 2016-06-01 16:02:10 · 1342 阅读 · 0 评论 -
C++多线程
C++多线程原创 2016-07-10 23:20:34 · 356 阅读 · 0 评论 -
CString 和 string,int 之间的转换
CString 转换成 stringCString str=_T("Hello");CT2CA ctItmName(str);std::string stItemName(ctItmName);CString 转换成 intCString str=_T("1");int i=_ttoi(str);原创 2018-05-15 20:22:26 · 425 阅读 · 0 评论 -
在C++中使用LUA
1. Lua代码的编译与生成库2. lua.lib的引用3. 初始化lua状态机4. lua使用c++的注册函数5. c++调用lua脚本的函数原创 2018-06-26 18:25:33 · 1034 阅读 · 0 评论 -
VS写好枚举后生成switch语句
编写枚举enum MY_ACTION{ ACTION_1, ACTION_2, ACTION_3, ACTION_4,};写好switch语句switch (action){}在action处快速双击 Tab键switch (action) { case ACTION_1: break; ...原创 2018-06-27 14:05:38 · 4191 阅读 · 0 评论 -
Windows下的OpenSSL的编译
安装ActivePerl切换至安装目录,默认为 C:\Perl64\bin测试是否安装成功 perl example.pl初始化VC运行切换至VC目录,默认为 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin初始化环境 vcvars32.bat编译OpenSSL切换至OpenSSL目录...原创 2018-08-16 18:00:53 · 2190 阅读 · 1 评论 -
Windows Eclipse 使用boost
下载boost_1_69_0.zip解压并修改文件夹为boost通过命令行切换到该目录下,并执行命令bootstrap.bat原创 2019-03-06 17:03:57 · 390 阅读 · 0 评论 -
SimpleAmqpClient、BOOST、RabbitMQ的编译与使用
rabbitmq的编译下载https://github.com/alanxz/rabbitmq-c/releases/tag/v0.8.0解压并修改文件夹名称新建build文件夹打开CMakeGui进行编译通过VS2017打开工程生成库结果boost的编译下载https://dl.bintray.com/boostorg/release/1.66.0/sourc...原创 2019-04-10 16:36:08 · 1796 阅读 · 8 评论 -
CMAKE编译AMQP-CPP
获取AMQP-CPPgit clone https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git创建编译生成文件夹//打开命令行并进入D盘D://进入代码库文件夹cd D:\Code\CPP\Online\RabbitMQ\AMQP-CPP//创建目录mkdir build//进入目录cd build编译生成工程...原创 2019-04-09 16:31:52 · 1024 阅读 · 3 评论 -
Win7 编译EVPP
安装vcpkg创建并跳转到存储文件夹cd D:\Code\CPP\Online\vcpkg克隆资源库git clone https://github.com/Microsoft/vcpkg.git执行编译环境cd vcpkg.\bootstrap-vcpkg.bat集成到全局执行后在其他地方可以使用当前已经编译成功的库.\vcpkg integrate install...原创 2019-04-09 17:24:55 · 847 阅读 · 1 评论 -
C++ std::map使用的注意事项
clear可以清除map元素std::map<int, int> asd;asd[1] = 1;asd[2] = 4;//此时,map有两个元素asd.clear();//此时,map没有任何元素如果读取了map,map会自动生成一个元素std::map<int, int> asd;//此时,map没有任何元素TRACE(L"%d\n", asd[3]...原创 2019-09-07 13:41:29 · 1640 阅读 · 0 评论