C++
文章平均质量分 51
Wite_Chen
QQ:1058778041
学习、分享,成长……
展开
-
windows下编译soci,支持mysql
soci在windows下编译,支持mysql原创 2020-12-13 13:18:23 · 804 阅读 · 3 评论 -
sqlite3编译
sqlite3编译,支持windows、Ubuntu原创 2023-03-03 17:17:55 · 847 阅读 · 0 评论 -
C++文件和文件夹选择
一、MFC版本WinFileSelectDlg.h#pragma once#ifdef WIN32#include <afxdlgs.h>#include <dlgs.h> #include <vector>class WinFileSelectDlg : public CFileDialog{ DECLARE_DYNAMIC(WinFileSelectDlg)public: WinFileSelectDlg(BOOL bOpenFi原创 2022-03-22 20:31:00 · 2501 阅读 · 0 评论 -
cmake引用外部库扫坑
标题cmake调用三方库方法三个方法如下:link_librariestarget_link_librariesset_property(TARGET ${PROJECT_NAME} PROPERTY LINK_LIBRARIES $<IF:$<CONFIG:Debug>,${PROJECT_LINK_LIBRARIES_DEBUG},${PROJECT_LINK_LIBRARIES_RELEASE}>)动态库直接写库名,Windows、Ma原创 2021-07-01 10:38:50 · 221 阅读 · 0 评论 -
Python和C/C++互相调用
// PythonInvoke.h#pragma once#include <string>#include "../include/python/Python.h"class PythonInvoker{public: // init/uninit static void InitPythonEnv(); static void Uninit(); static PyObject* PyInit(); // invoke python原创 2021-06-21 15:15:42 · 275 阅读 · 0 评论 -
Protobuf原理
Protobuf原理原创 2021-04-25 18:27:07 · 5099 阅读 · 0 评论 -
C++11线程、消息队列封装
ThreadObject.hpp#pragma once#include <thread>#include <functional>#include <condition_variable>#include <mutex>#include <atomic>class ThreadObject{ using Func = std::function<void()>; const static int k原创 2021-04-20 10:39:00 · 878 阅读 · 0 评论 -
windows下编译ffmpeg可调式
方法一ffmpeg编译方法二ffmpeg编译包下载PS:解压编译包1、下载源代码2、下载NASM,设定VS环境切换到VSNASM-master目录执行install.bat,安装NASM3、下载NASM,设定VS环境切换到VSYASM-master目录执行install.bat,安装YASM3、编译生成库切换到source\ffmpeg\SMP,打开ffmpeg_deps.slnPS:生成的lib与dll在msvc目录下...原创 2020-12-13 10:14:26 · 130 阅读 · 0 评论 -
CMake迭代遍历文件夹,建立过滤器
vs下cmake遍历文件夹并建立过滤器function(retrieve_files out_fiels) set(source_list) foreach(dirname ${ARGN}) file(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${dirname}/*.cmake" "${dirname}/*.h" "${dirname}/*.hpp原创 2020-06-28 22:05:26 · 3671 阅读 · 0 评论 -
C++11时间操作
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <chrono>#include <windows.h>#include <ctime>std::string GetCurrentSystemTime(){ auto timeNow = std::chron...原创 2019-02-11 14:25:46 · 599 阅读 · 0 评论 -
nginx静态资源服务器配置
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}http {includ...原创 2019-03-08 15:34:03 · 248 阅读 · 0 评论 -
汉字转拼音
#include <iostream>#include <string>const int spell_value[] = { -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032, -20026,-20002, -...原创 2019-03-29 22:59:19 · 311 阅读 · 0 评论 -
虚拟机linux安装VMware Tools
1、选择VMware Tools2、挂载VMware Tools双击VMware Tools,进入该目录,点击crtl_alt+t启动终端创建挂载点:sudo mkdir /mnt/VMware_Tools挂载:mount /dev/mnt /mnt/VMware_Tools3、安装VMware Tools进入挂载目录:cd /mnt/VMware_Tools拷贝文件到临时目录:...原创 2019-04-18 17:54:58 · 360 阅读 · 0 评论 -
window下生成onvif代码
Windows下生成onvif代码一、准备工作1.1、gsoap下载gsoap下载1gsoap下载21.2、onvif需要的wsdl文件以及.xsd文件下载主要文件下载地址:wsdl下载右键另存为就能保存到本地修改wsdl中的schemaLocation的路径为本地地址二、代码生成(离线)2.1、新建一个目录用于存放生成文件,将wsdl2h.exe、soapcpp2.exe(e...原创 2019-05-03 22:57:31 · 958 阅读 · 0 评论 -
cmake简单使用
CMakeLists.txt# cmake versioncmake_minimum_required (VERSION 2.8)# set variableset(PROJECT_NAME test)# set the project nameproject(${PROJECT_NAME})# include other cmake filesinclude(cmake/c...原创 2019-04-25 15:51:12 · 530 阅读 · 0 评论 -
QT添加动态库
1、添加动态库在.pro文件添加如下信息(-l后面是动态库)#-L add library directory#-l add link libraryLIBS += -L/usr/local/opencv-3.4/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_video -lopencv_videoio -lope...原创 2019-04-30 17:53:09 · 2508 阅读 · 0 评论 -
windows下MQTT使用
一、编译1.1、源代码下载准备工具:git下载 cmake下载git clone https://github.com/eclipse/paho.mqtt.cpp1.2、动态库生成1.2.1、打开CMakeGUI1.2.2、生成对应平台项目1.2.3、生成错误解决(ssl的锅)PS:选择ssl头文件与库文件1.2.4、编译打开生成的项目,直接编译即可通过...原创 2019-08-22 22:12:41 · 1894 阅读 · 1 评论 -
string与hex相互转化(C++)
std::string StringToHex(const std::string&amp;amp;amp; data){ const std::string hex = &amp;quot;0123456789ABCDEF&amp;quot;; std::stringstream ss; for (std::string::size_type i = 0; i &amp;amp;lt; data.size();原创 2019-01-17 16:37:47 · 25977 阅读 · 2 评论 -
ice配置与实例(VS2015)
ice配置与使用一、ice配置1、ICE安装1、进入程序包管理器(工具->NuGet包管理器->程序包管理器控制台)2、安装ice、ice builder、ice插件2.1、安装ice,选择项目,输入install-package zeroc.ice.v140 -version 3.7.12.2、安装ice.builder.msbuild,输入install-package zeroc...原创 2018-11-24 00:04:42 · 4200 阅读 · 0 评论 -
pipe基本使用
一、基本函数介绍 BOOL CreatePipe( //创建管道 PHANDLE hReadPipe, //管道读数据句柄 PHANDLE hWritePipe, //管道写数据句柄 PLSECURITY_ATTRIBUTES lpPipeAttributes, //安全属性,成员bInhertHandle表示子进程是否可继承 DWORD nSize //管道缓冲区大小,原创 2018-01-20 16:07:53 · 3807 阅读 · 0 评论 -
socket基于window基本使用
server端#pragma once#ifndef __SOCKET_H__#define __SOCKET_H__#include#include#pragma comment(lib,"ws2_32.lib")const int MAX_DATA = 1024;class CServer{public: CServer(); ~CServer()原创 2018-01-20 15:38:52 · 699 阅读 · 0 评论 -
C++函数导出dll
dll.h#ifdef DLL_API#else#define DLL_API _declspec(dllimport)#endif // DLL_APIDLL_API void RightsDeclare();DLL_API void SayHello();dll.cpp#define DLL_API _declspec(dllexport)#include"dll.h"原创 2018-01-20 14:34:58 · 436 阅读 · 0 评论 -
获取目录下所有的文件
/******获取目录下所有的文件*****/#include#include#include #include#include "io.h"const int MAX_PATH = 260;enum { RETURN_ERROR = -1, RETURN_OK };void GetFiles(const std::string& strDir, s原创 2017-12-15 10:52:18 · 347 阅读 · 0 评论 -
curl编译,支持https
demo下载1、下载并安装 ActivePerl。下载地址:perl下载测试安装是否成功:切换到安装目录下eg目录,执行perl example.pl,输出Hello from ActivePerl!2、下载并安装 Nasm 汇编器,并将 安装路径添加到系统环境变量 Path 中。下载地址:nasm下载3、初始化编译环境(管理员权限,防止openssl安装失败)...原创 2017-12-15 17:58:46 · 1478 阅读 · 0 评论 -
C++创建多级目录
#include#include#include#includeusing std::string;void CreateMultiDir(const string& strPath){string strTmpPath(strPath);if (strTmpPath.find_last_of("\\") != strTmpPath.length()原创 2017-10-26 21:06:49 · 1098 阅读 · 0 评论 -
CADODatabase 访问数据库字符串拼接
CADODatabase 访问数据库字符串拼接原创 2017-09-25 09:30:39 · 759 阅读 · 0 评论 -
相对路径第三方库引用
使用相对路径引用三方库:./代表.vcxproj结尾的工程所在目录原创 2017-09-25 14:19:35 · 568 阅读 · 0 评论 -
C++自动锁
CAutoLock.h#pragma once#include<windows.h>class CriticalData{public:CriticalData();~CriticalData();void Lock();void Unlock();private:CRITICAL_SECTION m_cs;};class CAutoLock{p...原创 2018-03-05 20:59:50 · 1742 阅读 · 0 评论 -
C++常见字符转换
#include&lt;iostream&gt;#include&lt;windows.h&gt;#include&lt;atlstr.h&gt;#include &lt;locale.h&gt;#include&lt;string&gt;using std::wstring;using std::string;using std:原创 2018-03-19 20:56:34 · 464 阅读 · 0 评论 -
C++操作json
具体操作代码如下:#include&amp;lt;iostream&amp;gt;#include&amp;lt;string&amp;gt;#include &quot;..\\include\\rapidjson\\document.h&quot;#include &quot;..\\include\\rapidjson\\writer.h&quot;#in原创 2018-11-03 18:19:53 · 462 阅读 · 1 评论 -
DuiLib编译
#编译环境(Win10+VS2015)DuiLib源代码下载地址具体编译过程如下:1、修改#include "StdAfx.h"为#include “…/StdAfx.h”2、修改UIGifAnim.cpp属性值,去掉预编译头文件3、编译提示hFile未声明,点击错误,在行323出空一行编译好的DuiLib库下载...原创 2018-11-01 21:08:07 · 1367 阅读 · 3 评论 -
C++截屏并保存到本地
#define _CRT_SECURE_NO_WARNINGS#define _AFXDLL#include<iostream>#include <afxwin.h>void Screen(char filename[]){ CDC *pDC;//屏幕DC pDC = CDC::FromHandle(GetDC(NULL));//获取当前整个屏幕DC i...转载 2018-10-27 19:58:36 · 1544 阅读 · 0 评论 -
struct和vector序列化保存数据
1、拷贝源文件到新项目源文件目录下(包含rc文件与resource.h),公用数据结构建议新建头文件 2、修改rc文件名,修改资源指向命名(工程dll项目和源项目名相同,跳过) 3、若dialog继承自CDialogEx,改为CDialog 4、编写接口//接口头文件extern "C" __declspec(dllexport) void DoModal();extern "C" ...原创 2018-07-16 22:20:05 · 2899 阅读 · 0 评论 -
Excel中行列转换为AB1格式(支持列大于676)
CString IndexToString(long nRow,long nCol){ //const int SUM_OF_CHARACTER=26 CString cstrResult; if(nCol<=SUM_OF_CHARACTER) cstrResult.Format(L"%c%ld",'A'+(nCol-1)/SUM_OF_CHARAC...原创 2018-07-13 21:21:01 · 698 阅读 · 0 评论 -
MFC操作Excel之组件引用
一、添加组件 1、添加资源 2、添加Excel操作组件 3、代码修改 3.1、屏蔽所加头文件中的import 3.2、修改CRange.h头文件VARIANT DialogBox()改成VARIANT DialogBox_()NFC玩转Excel将在下一篇...原创 2018-06-23 09:09:58 · 808 阅读 · 0 评论 -
C++重定向命令行结果到文件
HANDLE hRead = nullptr, hWrite = nullptr; SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.bInheritHandle = TRUE; sa.lpSecurityDescriptor = NULL; DWORD dwShareM...原创 2018-06-12 21:38:13 · 930 阅读 · 1 评论 -
c++ log4cxx自定义日志存放目录
C++运用log4cxx日志库原创 2017-09-14 16:55:21 · 1699 阅读 · 0 评论