
C++-STL-MFC-BASE
STL
MFC
环境
多云的夏天
读小说一样读代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++(41)-低版本升级到VS2019项目时遇到的问题(2)
低版本升级到VS2019项目时遇到的问题原创 2023-02-22 21:55:10 · 1686 阅读 · 0 评论 -
C++(42)-FSM-有限状态机
简单说了一下状态机,主要想把数据与运行代码分开。原创 2023-02-21 17:07:04 · 1917 阅读 · 0 评论 -
C++(36)-VS2019- 动态库调用
MFC+VS2019动态库调用小示例。原创 2023-01-30 13:37:22 · 414 阅读 · 0 评论 -
C++(37)-QT(40)QT4-QT5升级
旧项目升级,QT4-QT5遇到的问题,简单整理了一下。原创 2022-08-17 16:20:34 · 1336 阅读 · 0 评论 -
C++(35)-隐式和显示调用动态库
隐式和显示调用动态库原创 2022-08-17 13:26:39 · 1335 阅读 · 0 评论 -
C++-extern-用法-extern和include区别
extern的用法 显示的表明 变量或者函数的定义在别的文件中。原创 2022-08-16 14:48:47 · 1484 阅读 · 0 评论 -
c++--ubuntu-libevent2-高并发服务器
在ubuntu下 用libevent2库 写了一个高并发服务器。一个可用的demo程序,供大家参考。原创 2022-08-13 18:39:38 · 572 阅读 · 0 评论 -
c++--ubuntu-libevent1-概述与安装-IO事件+信号事件
ubuntu-libevent IO事件和信号事件的简单示例。原创 2022-08-12 14:43:04 · 331 阅读 · 0 评论 -
HTTP(0)-并发服务器
C++写的http协议的response和request原创 2022-08-06 16:50:28 · 311 阅读 · 0 评论 -
C++(36)-低版本升级到VS2019项目时遇到的问题(1)
旧项目VS2010升级到VS2019中出现了各种问题,做了简单的记录。原创 2022-08-17 16:18:35 · 2567 阅读 · 0 评论 -
C++(2)-ubuntu-CMake-构建同名动态库和静态库
静态库和动态库的区别 静态库的扩展名一般为“.a”或“.lib”;动态库的扩展名一般为“.so”或“.dll”。 静态库在编译时会直接整合到目标程序中,编译成功的可执行文件可独立运行 动态库在编译时不会放到连接的目标程序中,即可执行文件无法单独运行 1.构建工程目录实例2.工程文件编写与安装3.使用.so和.a1.工程实例目录:编译与运行cd build #到build下cmake .. #生成makefilemake #..原创 2022-05-21 23:40:37 · 1170 阅读 · 0 评论 -
C++(1)-ubuntu-CMake-外部构建项目
开发一个项目,最终总要输出一个可执行文件或者共享库,这时通过编译CMakeLists.txt来完成。CMake就做了这件事。本文以hello为例从构建工程,到安装helloWord为止。1.构建文件目录的tree2.文件编写 2.1.cpp文件 2.2.CMakeLists.txt -> cmake .(Makefile) ->make(hello)3.安装4.CMAKE语法1.构建文件目录的tree1.1工程目录 1.1.1根目录: ...原创 2022-05-21 19:54:02 · 506 阅读 · 0 评论 -
C++(0)-linux-共享内存
进程间通信,效率最高的就是共享内存。进程退出时,对共享内存毫无影响。1.基础操作 1.1.创建共享内存 1.2.进程和共享内存关联 1.3.进程与共享内存分离 1.4.删除共享内存2.示例1.基础操作 1.1.创建共享内存shmget 1.2.进程和共享内存关联shmat 1.3.进程与共享内存分离shmdt 1.4.删除共享内存shmctl 1.1.shmgetint shmget(key_t key,size_t,size,int shmflg); ...原创 2022-05-16 16:24:04 · 468 阅读 · 0 评论 -
C++ffmpeg(5)-4.3-ubuntu-环境搭建-x264-x265
1.X2642.X2653.fdk-acc4.ffmpeg-4.35.demo1.X264#windows \n\t linux \n 不一样 #库都是在环境变量中#安装前要先安装sudo apt-get install build-essentialsudo apt-get install nasmsudo apt-get insall yasmsudo apt-get insall make cmakesudo apt-get insall di......原创 2022-01-31 17:04:13 · 2745 阅读 · 0 评论 -
C++-ffmpeg(4)-VS2019-QT-register at least one qt version using“qt vs tools“->“qt options“
1.qt 下载安装 qt-opensource-windows-x86-5.14.2.exe2.插件下载与安装 qt-vsaddin-msvc2019-2.5.2Index of /archive/vsaddin/2.5.23.创建项目3.1register at least one qt version using“qt vs tools“->“qt optionsvs并未绑定qt的msvc版本的编译器解决方法:此时创建项目即可。4.切换编译器版本: 首先有...原创 2022-01-31 13:37:50 · 2432 阅读 · 3 评论 -
C++-ffmege(3)-第一个ffmege项目
1.配置5个地方2.demo调用1.配置5个地方#bin: src: G:/lesson/msys64/home/ffmpeg-4.3/install/bin G:/lesson/msys64/usr/local/bin #x264 x265两个执行文件和动态库include: src: G:/lesson/msys64/home/ffmpeg-4.3/install/includelib: src: G:/lesson/msys64/hom..原创 2022-01-31 08:09:55 · 624 阅读 · 0 评论 -
C++-ffmpeg(2)-win10-VS2019-msys2环境搭建-x264-x265-fdk-aac-nmake-cmake
结果是用VS2019单步调试时能进入ffmpeg源码界面1.vs2019安装2.msys2编译和安装3.x264编译和安装4.x265编译和安装5.fdk-aac源码编译和安装6.ffmpeg源码编译和安装方法 环境搭建主要是源码匹配,各种安装包下载。本篇也就是给个方法和步骤,搭建是否成功主要还是能下载可用软件。1.vs2019安装 下社区版,不赘述 #1.用VS2019的 x86 native tools command prompt: #2.复制源码文件......原创 2022-01-31 13:39:56 · 2337 阅读 · 0 评论 -
MFC(22)-C2440-“static_cast”
MFC程序从VC6.0转成VS2019时会出现如下的错误。主要是消息映射解决方法:1.修改消息映射返回类型为afx_msg LRESULT WMINTSCADA(WPARAM wParam,LPARAM lParam);2.其次消息实现修改:LRESULT CMainFrame::WMINTSCADA(WPARAM wParam,LPARAM lParam) { //todo: return TRUE;} ...原创 2022-01-12 22:31:58 · 522 阅读 · 0 评论 -
MFC(21)-启动进程-关闭进程-CreateProcess-TerminateProcess
程序运维让程序不死,守护进程必不可少。MFC下的代码,亲测可用.1.关闭进程killprocess()KillProcess(CString sExeName){ HANDLE hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapShot == 0) return; PROCESSENTRY32 thePE; thePE.dwSize = sizeof(PROCESSENTRY32); /.原创 2022-01-09 22:01:05 · 1695 阅读 · 1 评论 -
MFC(20)-ado-mysql
用C++对mysql进行增删改查//1.初始化DB::CoInitialize(NULL);//2.连接数据库_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;m_pConnection.CreateInstance(__uuidof(Connection));CString strConnection;strConnection = _T("Provider=MSDASQL.1;Persist Security Inf.原创 2021-10-14 11:29:44 · 124 阅读 · 0 评论 -
C++-ffmpeg(0)-msys2“无法升级 mingw64 (PGP 签名))”密钥失效问题
问题描述:解决方法:#1.下载安装包curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xzcurl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig#2.签名是否完好pacman-key --verify msys2-keyring-r21.b39fb11-1.原创 2021-06-01 17:34:17 · 514 阅读 · 0 评论 -
C++-ffmpeg(1)-无法打开**.pkg.tar.zst- with status 127
错误描述:打不开文件解决方法: 编辑vim /etc/makepkg.conf#PKGEXT='.pkg.tar.xz' 为 #PKGEXT='.pkg.tar.zst'原创 2021-06-01 17:30:34 · 503 阅读 · 0 评论 -
C++-MFC(1)-基本概念
1.MFC的程序运行顺序 2.SDK程序的运行顺序 3.MFC必要的类 4.消息1.MFC的程序运行顺序 1.1初始化 1.1.1CWinApp CHelloWorldApp 构造函数(appmodul.cpp) 1.1.2WinMain (TCHAR.H) 1.2.注册创建窗口 CMainFram...原创 2021-03-29 10:14:13 · 379 阅读 · 0 评论 -
C++-微服务架构
原创 2021-03-19 20:53:18 · 2010 阅读 · 0 评论 -
sublime 出现乱码-Install Package-ConvertToUTF8
sublime出现中文乱码。1.安装Package Control 命令行中输入: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); ope...原创 2021-03-15 12:29:43 · 398 阅读 · 0 评论 -
win10+vs2019-对COM组件的调用返回了错误HRESULT E_FAIL+x86 : 无法将“x86”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
用时出现了如上图所示的错误。解决方法:1.cd "D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\PublicAssemblies" 此处要有" ",否则会报如下错误:2.gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll 按enter键。OK了。...原创 2021-03-14 15:28:33 · 701 阅读 · 0 评论 -
C++-MFC(19)-CString-string-const char* 互转
把win32MFC程序移植到win64 下, 原来 CString ->string ->const char* 根本不好使。//正解 CString ->stringCString mfcstr="abc";string str=CT2A(mfcstr);//以前的方法// CString ->string CString cstr1 = "CString to string1"; CString cstr2 = "CString to string.原创 2021-02-18 22:10:38 · 183 阅读 · 0 评论 -
C++-问题(4)-解决引用外部DLL时报error LNK2019-无法解析外部符号-VS2019
LNK2019-无法解析外部符号。造成这个的原因非常多。今天又遇到了。原因:两个程序间的字符集要一致。mark一下原创 2021-02-17 19:52:40 · 258 阅读 · 0 评论 -
C++MFC(18)-Visual Studio 2019中修改项目名的方法
开始创建的时候随便起了一个名字,后来想改名字,或者在旧工程上做一个新的工程,都会用到重命名。在VS2019下的方法,亲测有效。1.【解决方案】右键选择【重命名】,将OldSlnName重命名为NewSlnName2.重命名项目名【项目(OldProject)】右键选择【重命名】,将OldProject重命名为NewProject3 修改程序集名称及命名空间4.全局替换项目名 5.修改项目文件夹名称 修改硬盘上各.cpp .,h.,rc, 各资源文件名。6.修改.sln文件 用记事本...原创 2021-02-13 14:01:03 · 2984 阅读 · 1 评论 -
C++MFC(17)-GetWindowRect和GetClientRect详解
windows(对话框),screen(屏幕),client(dialog或者是控件) 1.对话框与其它两者的关系 //得到win的尺寸 this->GetWindowRect(&wndRect1); //以client左上角为(0,0)为原点坐标 显示screen的坐标 所以有负值 this->ScreenToClient(&wndRect1); //windows内的client 去边框后的值 this->...原创 2021-02-09 17:25:06 · 2895 阅读 · 0 评论 -
C++-MFC(16)-VS2019-调用Python程序
VS2019+Python3.7原创 2021-02-03 18:50:52 · 1169 阅读 · 0 评论 -
C++(34)-enum-c++11
enum是常用的。1.默认数据类型:为整形变量 int ,unsigned int,char 不可以为float。2.默认初值:从0开始,后面的值++,如果不是先赋值。3.枚举值作用域: 同一个cpp里,枚举值不可以同名。#include <iostream>#include <stdlib.h>using namespace std;//枚举是一个内存空间//1. 默认为int型,值从0 开始的 后值++//1.1. 只有不从0开始时才需要赋值//1.2...原创 2021-01-13 11:32:52 · 400 阅读 · 1 评论 -
C++-BOOST(1)-线程(Thread)与互斥量(mutex)
1.线程调用两种方式:函数与类using namespace boost;//1.函数调用//2.类调用void fun(){ cout << "fun Hello world, I''m a fun thread!" << endl;}class myClassThread{ public: void fun() //被调用的函数 {...原创 2020-04-04 21:35:54 · 238 阅读 · 0 评论 -
C++(32)-centos-vscode-git配置
1.安装git 配置SSH KEY2.VSCODE本机创建仓库3.github上new一个仓库(也可以不建,VSCODE推送时可以选新建)4.VSCODE推送到远方5.github上看结果1.安装git 配置SSH KEY#1.查看本地是否安装了git --version#2.yum 安装gityum install git#3.卸载yum remove git#1.配置帐户和密码git config --global user.name "USERNAME"g..原创 2020-12-11 11:46:45 · 195 阅读 · 0 评论 -
C++-JAVA-STACK-QUEUE-LIST
总结一下:Java C++ 描述 构造 Stack<Integer> myStack = new Stack<Integer>(); stack<int> myStack; 初始化 容量 myStack.empty(); myStack.empty(); 是否为空 容量 myStack.s...原创 2020-04-24 18:30:12 · 211 阅读 · 0 评论 -
C++-STL(4)-unordered_set-自定义类型-实例源码
自定义类型一般有三种实现方式,百度一下就出来了。目的都是重写hash<Key> 以及 equal<Key>。其实都是三步走: 1.自定义对象; 2.重载operator; 3,哈希函数本文给出两种好用的,一个是struct的,一个是class的。照着做肯定可以用起来。本文的struct和class 成员变量都是基本数...原创 2020-02-07 06:58:24 · 4476 阅读 · 0 评论 -
c++-问题(4)-解决 DLL中被调函数参数为 CString 时error LNK2019-无法解析外部符号-VS2019
我在DLL中写了一个函数,参数为CString类型,单独编译没有问题,但被exe调用时就会出现LNK2019,无法解析外部符号的链接错误。 如下图所示: DLL是在VC6.0底下写的,EXE是VS2019下写的。网上搜了很多种解决方法,加库函数、改数据类型都不行,正解是 修改EXE项目的字符集。注意:VS前面的版本字符集的选择是在 配置属性->常...原创 2019-12-12 18:44:58 · 868 阅读 · 1 评论 -
C++(33)-centos-vscode+cmake+googletest+git-cmakeLists
1.环境搭建 VSCode+Cmake+googleTest+git2.文件目录构建,文件编写3.编译运行1.环境搭建 VSCode+Cmake+googleTest+git 一般包含3个git安装参看前篇。2.文件目录构建,文件编写 2.1目录结构EXAMPLE├── CMakeLists.txt├── build # ├── lib│ └── googletest ├── src ── main.cpp│ └── EXAMP...原创 2020-12-11 12:46:22 · 240 阅读 · 0 评论 -
C++(31)-Google编码规范-示例
看了google编码规范,做了一些整理与示例。 myclassfile.h//1.文件名 小写 有_线或者- 与类名对应myclassfile.cppmy_class_file.cpp myclassfile.h //2.类名 单词以大写字母开头class MyClassFile:public BasicClass //{ //1 常量 以k开头全单词 const int kDaysInAWeek=7; //2 构造函数 析构函数...原创 2020-12-04 12:30:22 · 508 阅读 · 0 评论 -
C++(30)-Centos-VSCODE-C++
1.下载安装VSCODE2.新建文件夹,用VSCODE打开3.配置C++环境3.1 下载C++插件3.2配置编译环境 CTRL+SHIF+P4.MAIN.CPP运行一下1.下载安装VSCODE ubuntu 下用.deb安装 centos下 yum安装 https://code.visualstudio.com/ //1.切换到root用户sudo su//2.yum安装sudo rpm --import...原创 2020-12-01 15:43:41 · 292 阅读 · 0 评论