
C/C++|VC|DS
文章平均质量分 73
小乌龟在大乌龟背上
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vcpkg安装静态库/mtd/mt
安装视频参考点我去看视频,如果你不想浪费时间看视频,也可以参考下面来准备工作先下载一这工具点我下载,然后注册登录加速后,勾上git代理再打开控制台代理后面的全部命令行都在这个“控制台代理” 里面运行开始干活人手工处理c++库并将它们静态地链接到项目中绝对是一件痛苦的事情。幸运的是,有像vcpkg这样的包管理器可以使下载和管理c++依赖项变得更容易。不幸的是(或者幸运的是,这取决于你的视图)vcpkg使用了开箱即用的动态链接,但是静态链接你的库需要一些额外的工作。为了弄清楚如何用vcpkg和原创 2021-03-31 21:22:58 · 5352 阅读 · 0 评论 -
完美解决,使用vcpkg包管理编译c++第三方库,解决vcpkg卡慢的问题
安装视频参考点我去看视频,如果你不想浪费时间看视频,也可以参考下面来准备工作推荐使用这个工具点我下载,然后注册登录加速后,勾上git代理再打开控制台代理后面的全部命令行都在这个“控制台代理” 里面运行vcpkg安装clone到本地D盘vcpkg将D:\vcpkg添加到系统path中运行bootstrap-vcpkg.bat等待脚本执行成功执行vcpkg integrate install ,这样visuall studio 就可以直接引用vcpkg的包了试试安装一下curl这个原创 2021-03-31 20:45:07 · 4779 阅读 · 4 评论 -
C/C++ 常用的函数与方法
1,创建多级目录#include <string>#include <direct.h> //_mkdir函数的头文件#include <io.h> //_access函数的头文件using name原创 2018-05-03 15:02:03 · 1649 阅读 · 0 评论 -
CEF一些基本知识
一.CEF简介Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。简单说就是Chrome的开源版,目前很多所谓的双核浏览器,实质就是chrome+IE的双核。基于HTML5的支持,以及v8引擎的效率,在软件中嵌入...原创 2018-04-12 14:09:51 · 20816 阅读 · 0 评论 -
一个程序所要使用的类模块
1,网络模块 2,配置模块 3,基类模块 4,底层模块 5,资源模块 6,UI模块一般就按照这几个方向走,大致能构建一个程序。原创 2018-03-29 14:04:17 · 508 阅读 · 2 评论 -
C/C++ 屏蔽所有按键消息
帮一个朋友写的这个小东西,要生成dll,有点小奇怪是要给java端来调用,主要就是个勾子来把消息截获了,就后程序程序就收不到了。关于这种勾子处理网上资料多的很。 生成hook 的dll代码// dllmain.cpp : Defines the entry point for the DLL application.#include "stdafx.h"HHOOK g_HookHwnd...原创 2018-03-31 14:56:01 · 4535 阅读 · 5 评论 -
C/C++ 实现websocket的坑
之前因项目需要,造了一个websocket,基于C++的,但在测试的时候,会有丢包,我tm也是服了,后来通过抓包发现,包没有丢,因为底层使用的select方式,获取了数据后,服务器发的快的话,一次就有2个websocket以上的数据源,之前一直认为是一个,这问题把人搞的,误以为socket丢包!!希望有碰到这个问题的朋友能解惑~原创 2018-01-10 17:23:32 · 6711 阅读 · 2 评论 -
C/C++ Base64加密解密算法
实用,我也忘了是哪儿抄的,亲测无问题,直接撸进项目去吧const char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; /* Base64 编码 */ char* base64_encode(const char* data, int data_len) {原创 2018-01-26 09:47:19 · 1155 阅读 · 0 评论 -
C/C++ 实现websocket客户端
网上有一个现存的开源库,websocketpp,但好像不太适合目前开发的项目,好在是开源库,可以找找源代码来整一波,fork一波websocketpp,其实整个东西大概就是一个websocket头协议,网上有太多讲websocket头协议,我只提几个在开发时要注意的骚东西!!! 1.注意在进行握手的头协议时,定要填写Origin头协议,Host也要填,可以这样做: Origin:ht原创 2017-12-19 21:59:59 · 18377 阅读 · 10 评论 -
C/C++ 如何设计框架
关于软件设计框架的一点个人心得,之前造了一些轮子,发现修修改改,始终没有造的很好!架构能力不行啊!结果还是没有深入理解MVC,MVP,MVVM等的一些概念,后来我发现这些概念真tm让你晕,我去tm的mvvm,这一切的一切不就是为了解耦啊,经过深思再深思,我终于写出如下逻辑,一直对设计框架有点着迷,毕竟能设计出好的框架定是有足够多的开发经验,如何达到解耦性高!1,这种适合在各窗口进入聚合的时原创 2018-01-25 10:51:04 · 9120 阅读 · 0 评论 -
win32 透明窗口无边框模版
直接copy就可以用,主要用于造轮子,HINSTANCE hInst;RECT g_re;ATOM MyRegisterClass(HINSTANCE hInstance);BOOL InitInstance(HINSTANCE, int x,int y,int w,int h,int show);LRESULT CAL...原创 2018-01-19 14:24:55 · 5234 阅读 · 1 评论 -
C/C++ 易忽略知识~持续记录
以下为个人总结,难免出错,不吝赐教~1) UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。2) Unicode编码:一个英文或一个中文(含繁体)都等于两个字节,介绍的很详细 // https://www.zhihu.com/question/233740783) 1个字节等于8位,一个int是4字节或2个字节与操作系统有关,8086只能处理16位字长,80x86以上好像是3原创 2016-12-13 14:26:42 · 1603 阅读 · 0 评论 -
C/C++ 根据域名获取IP地址
今天看到一个实用的代码简单又好用,That’s a simple question,I’ll write them down below~ 当然如果有遇到IP地址ping不ping得通的问题, ping的通不通,点我#include <winsock.h>#pragma comment(lib,"Ws2_32.lib")BOOL GetRealIpByDomainName(char *szH原创 2017-12-14 16:21:21 · 3260 阅读 · 0 评论 -
windows System32 与SysWOW64区别
作为码友,遇到一个问题,在64位windows编写的32位程序,访问不了System32 里面的文件,看来这个问题有点尴尬,System32 放的是64位程序,SysWOW64放的是32位程序,你的32位程序访问64位的文件夹等东西,肯定是不行的,即被重定向了,要能访问这些64位的文件夹些,你就把程序改成64位吧,或者使用禁止重定向等api如:Wow64DisableWow64FsRedirect...原创 2018-05-04 13:01:14 · 4554 阅读 · 0 评论 -
C/C++ winhttp 下载文件
偷自网上#include <thread>#include <string>#include <windows.h>#include <winhttp.h>#pragma comment(lib, "winhttp.lib")typedef void(*DownLoadCallback)(int ContentSize, int CU...原创 2018-04-27 17:43:18 · 3083 阅读 · 0 评论 -
C++ 7Zip解压源码,获取解压进度等信息
源码原创 2018-05-07 13:50:37 · 2591 阅读 · 2 评论 -
C/C++ Duilib自定义控件
一、根据当前的需要来继承相应的控件,已便减少重复开发一般继承 DoPaint来写,若需要在最上层显示的,则要继承DoPostPaint()例读取图片旋转显示,配合GDI+来,注意Gdiplus::Bitmap的构造函数,本例PNG,使用PixelFormat32bppPARGBbool RotateAnimation::DoPaint(HDC hDC, const RECT&amp; rc...原创 2019-03-16 17:21:30 · 1388 阅读 · 0 评论 -
C/C++ LoadLibrary GetModuleFileName 多线程可能会死锁
RT,内部有waitforsingleobject更多文章:http://blog.youkuaiyun.com/what951006?viewmode=listpowered by:小乌龟在大乌龟背上原创 2018-11-30 17:02:45 · 1064 阅读 · 1 评论 -
windbg调试CPU占用过高
一、用任务管理器找到exe文件,生成dump文件二、用windbg打开dump三、输入命令!runaway查看线程的cpu执行时间,找到较高的那个四、35号线程就用的比较多,输入~35s五、kb查看调用堆栈...原创 2018-11-09 16:43:45 · 3031 阅读 · 1 评论 -
批处理 bat变量重新赋值
@echo offcall Signature.exe "C:\Test.dll"SETLOCAL ENABLEDELAYEDEXPANSIONset "nResult="if %errorlevel% == 1024 ( set "nResult=1024") else ( set "nResult=2048")@echo %nResult%pause变量要加双引号就解决...原创 2018-09-25 18:06:28 · 21634 阅读 · 0 评论 -
C/C++ windows自定义安装卸载
一、先撸UI界面首先,自定义自定义就是要可控性高哇,如果你要说innosetup这种,可能是鄙人知识浅薄,不太玩得转,貌似使用这一套的话,要实现稍微酷炫一点的界面就GG了,那我们自己造轮子吧,这个轮子定要造的足够的轻巧,主要的大头在UI界面上,那就用win32开始吧,好的,需要什么控件,我们自己绘吧,需要一个按钮,我们绘,需要一个编辑控件,我们绘,需要一个tab控件,当然当然还得自己绘,wtf...原创 2018-09-09 16:40:44 · 1501 阅读 · 2 评论 -
C/C++Zlib 解压文件
还是记下来吧,用了这么N多次了,博客方便点 .h头文件#include &lt;string&gt;using namespace std;class ZlibClass{public: static bool UnCompress(const string &amp;pSzSrcFile, const string &amp; pSzPSW, const string...原创 2018-08-21 12:02:37 · 4570 阅读 · 0 评论 -
C++/Qt 实现字体高亮
主要就是这个类QGraphicsDropShadowEffect 具体可以看它HightlightText::HightlightText(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); auto *shadow_effect = new QGraphicsDropShadowEffect(this...原创 2018-08-14 16:45:32 · 2044 阅读 · 0 评论 -
C/C++ 实现遮罩窗口
为什么会有这种需求?一般做做个的话是要使用模态对话框,模态对话框的父窗口会生成一个遮罩窗口,这就是用处,不让点击,可能就是这个一个简单的需求,我们要怎么样来实现? 一个遮罩窗口的实现代码 .h文件class MaskWindow : public QObject//we must use 'QWidget 'as base class{ Q_OBJECTpublic: ...原创 2018-08-14 14:35:09 · 2256 阅读 · 0 评论 -
C/C++ 路径相关的API
C++路径的整理 写C++,路径的问题一直都让人很头疼,抽空整理一些方法;也许以后会用到:1.”./” 加不加都一样,就是指当前目录2.”../” 表示当前目录的上级目录,即当前的父目录。(这里的当前目录就是指.vcxproj和当前运行的.cpp文件所在目录,而不是.sln文件所在目录)注意:前面两种在工程文件夹里面执行时没有问题的,但是打包成DLL,被调用就行不通了;3.获...转载 2018-08-01 16:47:58 · 866 阅读 · 0 评论 -
C/C++11 正则表达式替换文件内容
regex_search regex_match原创 2018-07-11 20:30:36 · 1764 阅读 · 0 评论 -
CEF 入坑第二集 支持mp3,mp4
如果你以为我要去从cef官网上去通过方法下载并编译cef和谷歌源码就错了,步骤麻烦不说,还会tm遇到一大堆错误,无意间在网上看到有人编好的bin,版本cef_binary_3.2623.1401,我就直接用这版本就好了~反正也没关系,完成项目要紧,以后有时间再自己来编译源码就好了,编译后的bin直接替换就好!然后就可以用了!code:https://download.youkuaiyun.com/down...原创 2018-06-24 20:03:59 · 2811 阅读 · 5 评论 -
C++ Json 的几个操作
一直用的Jsoncpp这个库,用了很多次,隔几日不用了就又忘记怎么操作了唉,还是老老实实写下来,免得要用又去查资料!1,读含有数组的jsonconst char* str = "{\"HELK\": [\"id\",\"name\",\"yantao\",\"gender\",\"Male\"],\"code\": 100,\"msg\": \"\",\"files\": \"\"}"; Jso原创 2017-12-21 15:49:21 · 4431 阅读 · 1 评论 -
C/C++ VS2012及以上添加 Snippet,自定义快捷输入注释
一、这种东西有什么好处呢?提高代码的规范性!关键中的关键哇给后面代码的使用者提供思路或者联系二、直接上使用方法 Anno就是我们自己定义的快捷输出 那如何实现它呢?研究了一会儿发现,可以这样搞 1)、打开这个文件夹C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\Snippets\2052\Visual C++2)、我们打开简原创 2017-11-19 15:36:55 · 4173 阅读 · 0 评论 -
C/C++ 算数表达式计算
其实如果要理清编译原理之类的东西,第一步就是要搞词法分析,有了词法分析,就可以再做语法分析,我文讨论简单的词法分析的一个小例子—算数表达式,这个是我一个网友问到我的问题,虽然脑子里有个大概的思路,要么使用栈模型,要么使用二叉树模型,但思路不是很清晰,花了一些时间来整理了一下思路并形成了代码。思路如下: 1. 我们要把每个数据拆分开,例:3*2.3+2,即拆成3,*,2.3,+,2 2原创 2017-09-08 11:27:46 · 9418 阅读 · 5 评论 -
如何理解递归?
一、为什么难理解?这个问题说简单也简单的,说复杂,当你想写出一个棒的递归却又写不出来,为什么会形成这种局面,是技术不够高?我猜测这是一种思维在作怪,我们看待递归的时候,一遇到内部递归就去想又要调用递归了,堆栈又怎么怎么了,我们习惯以计算机的思维去搞。其实根本不用考虑这点,我说的是根本,网上最爱举的例子就是斐波那契数列个人觉得这个例子也不错,我也举个例子,以一道题为例,再分析这道题。二、例子走走例:这原创 2017-09-15 10:14:54 · 11394 阅读 · 4 评论 -
C++ 均衡器使用
前些日子有点无聊就想起了这个,这个说实话就是一个算法的问题,把相应的频率改变即可,但算法又不是件容易的事情,高数没学好是硬伤,无意在网上找到这样的一个东西,点我下载,也就是说算法有人写好了,直接把流放进去处理就好!接口都已写好~还有什么难度吗?下载后加入工程, 大概分享一下使用FFmpeg与SDL在MIX_AUDIO前做处理,调用do_equliazer((short*)audio_buff,au原创 2017-07-20 14:48:29 · 2326 阅读 · 2 评论 -
C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)
在主线程定要禁止使用waitforsingleobject(),原因是会阻塞主线程的消息循环,所以必须使用另一种 MsgWaitForMultipleObjects,即可以让消息通过,下面就是一个基于MsgWaitForMultipleObjects与Event,实现多线程同步这样。HANDLE g_Handle;//全局的句柄g_Handle=CreateEvent(NULL,FALSE,F原创 2017-07-19 11:28:07 · 3565 阅读 · 0 评论 -
C++/C 千万别对结构体内部含有类使用memset赋值!!
因为一个crash,我琢磨了1天,无论如何修改,都不成功,无限次的怀疑都没怀疑这个memset!!最后怒了,把memset对结构体赋值,换成了{},我TM成功了!后来百度搜索了,有一文说 memset可能破坏类的析构函数!!!血的教训更多文章:http://blog.youkuaiyun.com/what951006?viewmode=list powered by:小乌龟在大乌龟背上原创 2016-11-29 12:06:09 · 4370 阅读 · 0 评论 -
MFC程序重启(亲测可用)
还是直接撸代码方便:char pBuf[MAX_PATH]; //获取应用程序完全路径,比 GetCurrentDirectory 好用多了 GetModuleFileName(NULL,pBuf,MAX_PATH); STARTUPINFO startupinfo; PROCESS_INFORMATION proc_info; memset(&startupi原创 2017-05-25 15:02:57 · 2816 阅读 · 1 评论 -
C++ socket 循环发送,循环接收样例
基于winsock API,比较实用,自己写的,简单又粗暴同时还有技巧~ 这样包装的目的显而易见,防止send或者 recv不完整,这样你想发一个 几MB直接调用下面方法就okay,不会少发~bool SendAll(SOCKET &sock, char*buffer, int size){ int SendSize=0; int nCount=0; while (si原创 2017-07-14 15:14:54 · 12257 阅读 · 3 评论 -
平面坐标系绕原点顺时针变化
这本该是初高中的东西,项目遇到了。搞了半天,发现这还是个公式,(x,y)为某点先前坐标,变化θ度后某点新坐标(x’,y’),先上公式再搞科学。x′=x∗cos(θ)−y∗sin(θ);x'=x*cos(θ)-y*sin(θ); y′=y∗cose(θ)+x∗sin(θ);y'=y*cose(θ)+x*sin(θ);确实也不难。。至于为什么得出的,我本子上画了一画 更多文章:http://blog原创 2017-05-15 22:26:12 · 1540 阅读 · 0 评论 -
MFC创建用户界面线程
尽管MFC再老,还是有它的用武之地,至少磨练你要去了解Windows的消息机制吧,这也可能是学校里至今也没把MFC删去的原因。。步入正题,AfxBeginThread();这个方法是MFC封装创建多线程的方法,内部还是CreateThread();在MFC这个框架下尽量使用MFC的封装的,AfxBeginThread可以创建用户界面线程和工作线程,用户界面创建较为复杂点,大体步骤如下:一,创建一个窗原创 2017-06-12 16:55:47 · 1772 阅读 · 2 评论 -
C++ 面向过程还是面向方法来创建函数
写了很多代码,我发现我在这两都这间徘徊,对于该问题,我有如下观点: 面向方法:优点: 1. 结构清晰 2. 方法明确 面向过程:优点: 1. 效率较高 2. 适用于该项工程 向方法意味着整洁,面向过程意味着普适性不强,正如赵4老师说,整洁代码未必有看着乱的代码运行的良好,举个例子,要找一本书,图书管看着整洁,实际上找很久,网络搜索看着杂乱,结果速度还原创 2017-06-23 11:26:19 · 444 阅读 · 0 评论 -
VC Qt 路径 '\\' 与'/'(反斜杠与斜杠)
这个简单问题很多朋友分不清(0.0)VC:路径使用'\\'(反斜杠)Qt:路径使用 '/'(斜杠)更多文章:http://blog.youkuaiyun.com/what951006?viewmode=list powered by:小乌龟在大乌龟背上~原创 2017-06-23 09:29:17 · 4760 阅读 · 1 评论