
C++
简单前行
这个作者很懒,什么都没留下…
展开
-
CELT编码解码 - 实例
CELT编码解码 - 实例原创 2024-01-12 15:19:33 · 602 阅读 · 0 评论 -
C++单例模式(线程安全)
C++线程安全单例原创 2023-03-07 19:08:09 · 188 阅读 · 1 评论 -
CEF编译时 错误 error MSB3073: 命令“setlocal ***
解决办法:其实大家仔细看,其实它是一个生成后事件,也就是走到这里时,程序已编译成功,报错在这里可能是文件拷贝权限或者内存不足等等原因,最简单的办法就是看哪个文件拷贝出错,就直接打开cmd窗口主动运行该次文件拷贝就好了(也可以直接找到要拷贝的文件放到对应目录下面去就OK了)如图这里的标签1:表示通过调用编译器中的 mt.exe 将G:/cef_98.2.0_VS2019/tests/cefclient/resources/win/compatibility.manifest和G:/cef_9.原创 2022-02-24 11:00:40 · 1031 阅读 · 0 评论 -
模块计算机类型“x86”与目标计算机类型“x64”冲突
需要注意检查的地方1、2、原创 2022-02-22 17:03:34 · 961 阅读 · 0 评论 -
Duilib实现list列表界面
最近看到网页封装的列表用起来挺方便的,所以就想着用C++也封装一套试试,大家有兴趣的话,可以一起研究研究,主要还是逻辑代码比较多,其他都没什么难点源码下载地址:下面是效果图:...原创 2022-01-27 15:26:52 · 1028 阅读 · 0 评论 -
DuiLib实现聊天界面
心得:其他都是比较简单,较为的一个难点是对排版的文字界面主要是对文字的右排版;1、整个聊天框是一个List控件2、右排版的实现逻辑是通过字体和字号来计算出RichEdit控件的所需宽高3、再通过计算出的RichEdit宽高,进而对它的容器控件宽高进行修改设置源码是VS2013 C++,界面库是原生的DuiLib,希望能对喜欢研究DuiLib的朋友们提供一点帮助源码下载地址:UI界面效果图...原创 2022-01-25 11:31:15 · 1138 阅读 · 0 评论 -
vs编译 error C2001: 常量中有换行符
出现该错误的其中一种可能:编码问题,其中一个解决办法是:找到这个文件位置,选择用Notepad++方式打开,选择菜单项中的"编码"---》“使用UTF-8-BOM编码”,然后保存,再回到VS将会收到重新加载文件的提示。...原创 2022-01-19 10:09:13 · 2395 阅读 · 0 评论 -
VS 工程只生成dll不生成lib的解决方案
原因可能是定义类时,忘记了加__declspec(dllexport)声明,修改成下面的代码实例后基本就可以解决了,注意:格式必须为 class MYDLLAPI 类名#pragma once#define MYDLLAPI __declspec(dllexport)class MYDLLAPI MyDllCall{public: MyDllCall(); ~MyDllCall();}...原创 2021-09-28 11:32:11 · 3366 阅读 · 0 评论 -
C/C++ 怎样判断char* 是否为空
1、通过判断它的第一个字符是否为空char* p = "123456";if(p != nullptr && p[0] == '\0'){ //为空}else{ //不为空}2、通过判断指针或数组的长度const char* p = "123456";if(p != nullptr && strlen(p) == 0){ //为空}else{ //不为空}...原创 2021-09-01 17:04:45 · 23668 阅读 · 2 评论 -
win32调用系统另存为窗口实现
wstring wstrSaveFileName = L"C:\\1.txt";OPENFILENAME ofn = { 0 };ofn.lStructSize = sizeof(OPENFILENAME); ofn.lpstrFile = (LPWSTR)wstrSaveFileName.c_str();wstring strExFilter;wstring strExt = PathFindExtension(wstrSaveFileName.c_str());//得到后缀名if (str.原创 2021-04-13 15:27:32 · 329 阅读 · 0 评论 -
WinPcap免安装版(静默安装版) (程序员角度的实现相应逻辑)
WinPcap免安装版逻辑:(注:xp下WinPcap也是可用的)WinPcap***.exe安装实现的逻辑实际上相当于 对 wpcap.dll、packet.dll 和 npf.sys 这三个文件放到相应的系统文件夹下1、x86 系统 对于32位系统而言,我们需要把 x86版本的wpcap.dll、packet.dll 和 npf.sys这三个文件进行拷贝到不同位置,分别为: wpcap.dll (x86版本) 拷贝到C:\Windows\system32\ 下 packet....原创 2020-12-22 11:13:35 · 2448 阅读 · 2 评论 -
C++ 执行ffmpeg命令行并获取执行后的输出结果
不多说直接上源码:void ChangedVideoSize(){ wstring szStartApp = L"ffmpeg -y -i c:\2.mp4 -s 1280*720 video2_1280x720.mp4"; SECURITY_ATTRIBUTES sa; HANDLE hRead, hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL;...原创 2020-12-10 18:24:11 · 1617 阅读 · 1 评论 -
通过FFMPEG、aria2c实现高速下载(支持去抖音水印, 视频播放, 视频编辑)
界面展示:另外支持其他非抖音文件的高速下载;想进行抖音去水印下载的话,在下载地址里直接填写如(https://v.douyin.com/JX6kswt/) 进行视频下载;如果朋友们有其他需求希望实现的话,欢迎大家积极提出,本人会尽力实现本软件下载地址:https://download.youkuaiyun.com/download/u012983289/13602724...原创 2020-12-11 10:30:33 · 1238 阅读 · 3 评论 -
libcurl无法解析的外部符号
libcurl无法解析的外部符号编译成静态库,引用此静态库时出现多个“无法解析的外部符号”问题,解决办法:1.确保curl的头文件已添加和包含2.确保libcurld.lib 或 libcurl.lib已经引用,且同时也引用了wldap32.lib;Crypt32.lib;ws2_32.lib;3.确保 属性-------> c++ -----> 【预处理器定义】中添加了BUILDING_LIBCURL...原创 2020-11-19 10:03:47 · 2251 阅读 · 0 评论 -
C++计算两个数的最大公约数
利用辗转相除法int Grial(int a, int b){ if (b == 0) return a; return Grial(b, a%b);}原创 2020-11-11 15:21:37 · 308 阅读 · 0 评论 -
warning C4995: “swprintf”: 名称被标记为 #pragma deprecated
处理该警告,可以用它的安全版本 swprintf_s 来代替就OK了原创 2020-10-23 10:37:59 · 1161 阅读 · 1 评论 -
初始化CEF中CefInitialize失败,提示libcef.dll(*.exe 中)处有未经处理的异常: 0xC000001D的解决办法
出现这个问题很有可能是因为这几个资源没有放到*.exe的同级目录下原创 2020-10-19 11:41:24 · 2952 阅读 · 0 评论 -
MFC实现音频柱状图显示(利用FFT绘制音频频谱)
编译环境:vs2013、 MFC语言:C++描述:通过对WAV格式的音频数据进行FFT傅里叶变换处理后,再进行柱状图可视化显示实现效果图:项目下载地址:https://download.youkuaiyun.com/download/u012983289/12832690参考文献:https://blog.youkuaiyun.com/qq_36568418/article/details/91536032...原创 2020-09-10 15:51:55 · 2010 阅读 · 0 评论 -
c++ ffmpeg实现简单播放器之音频播放
音频播放通过ffmpeg+sdl进行实现,相关代码:#define MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio static Uint32 audio_len = 0;static Uint8 *audio_pos = NULL;void fill_audio(void *udata, Uint8 *stream, int len){ SDL_memset(stream, 0, len); if (au原创 2020-08-31 14:28:36 · 2938 阅读 · 0 评论 -
C++ ffmpeg实现简单播放器之视频播放
实现视频播放并不难,关键就是两个函数sws_getContext和sws_scale的使用,直接上代码:av_register_all();AVFormatContext* avFormatContext = avformat_alloc_context();int ret = avformat_open_input(&avFormatContext, strVideoPath.c_str(), NULL, NULL);//读取文件头if (ret != 0) return;ret原创 2020-08-31 13:58:36 · 4371 阅读 · 3 评论 -
ffmpeg+soundtouch实现音频变速变调
实现并不难,本人只贴出相关代码,想要详细了解的朋友可以另行百度一下相关参数设置和部分用到的函数定义typedef float SAMPLETYPE;#define BUFF_SIZE 6720static char *convBuff = NULL;int convBuffSize = 0;void * getConvBuffer(int sizeBytes){ if (convBuffSize < sizeBytes) { delete[] convBuff; .原创 2020-08-31 13:41:59 · 1141 阅读 · 0 评论 -
Windows下CEF的V2623.1401源码编译流程和注意事项(支持MP3、MP4播放)
在编译器需要准备的(v2623.1401):1.cef的源码zip包,其共分为5个部分,下载网址可以自行下载,也可以通过下面我的百度网盘链接: https://pan.baidu.com/s/1DhQRsfk2yW_pNW6ae_z9pQ 提取码: zt3q, 下好后右击解压(只需选择cef2623.zip.001右击解压即可)2.准备window10 SDK, 下载网址也在里面名字为winsdksetup.exe,链接: https://pan.baidu.com/s/1DhQRsfk2yW.原创 2020-05-12 13:36:24 · 1590 阅读 · 2 评论 -
C++快速高效替换字符串中指定子字符串(毫秒级别)
//pInput 替换前的源字符串//pOutput 替换后的目标字符串//pSrc 需要替换的单个字符//pDst 替换成需要的单个字符void QuitReplace1(char *pInput, char *pOutput, char *pSrc, char *pDst){ char *pi, *po, *p; int nS...原创 2020-04-29 15:43:20 · 2359 阅读 · 0 评论 -
通过连接socks5代理上网(与服务端通讯)
下面是C++通过socks5进行与服务端进行简单通讯的代码,希望能提供部分帮助proxy.h文件#pragma once#include <stdio.h> #include <iostream>#include <winsock2.h>enum ProxyStatus{ SUCCESS, CONNECT_PROXY_F...原创 2019-10-16 17:26:43 · 19370 阅读 · 1 评论 -
VC++下Duilib有关RichEdit添加背景图片和图片字体的使用
通过内存DC的形式加载背景并通过GDI+进行图片文字的绘画,再通过Ole对图片加下加载,已实现RichEdit添加背景图片和图片字体的功能。图片效果如下:源码下载地址:https://download.youkuaiyun.com/download/u012983289/11226734...原创 2019-06-05 11:36:54 · 1390 阅读 · 0 评论 -
C++ 将当前时间转换成标准时间和时间戳
#include "iostream"#include "time.h"#include "string.h"using namespace std;int main(){ time_t now; int unixTime = (int)time(&now); time_t tick = (time_t)unixTime...原创 2018-08-13 10:35:08 · 2862 阅读 · 0 评论 -
解析视频编码中的I帧、P帧和B帧
static std::string UnicodeToAnsi(LPCWSTR pString) { char *pANSI = NULL; int nByte = 0; nByte = WideCharToMultiByte(CP_ACP, 0, pString, -1, NULL, 0, NULL, NULL); pANSI = (char*)malloc(nByte + ...原创 2018-07-16 11:11:49 · 1946 阅读 · 0 评论 -
MFC通过CEF封装Chrome浏览器内核
MFC通过CEF封装Chrome浏览器内核,链接地址:https://download.youkuaiyun.com/download/u012983289/10302891原创 2018-03-22 18:17:52 · 3690 阅读 · 0 评论 -
window7+red5搭建直播服务
搭建前准备:(其实搭建window7下的red5并不难,主要需要自己能先试着着手去搭)第一步:下载red5,地址是:http://download.youkuaiyun.com/detail/keepingstudying/8270175(如果不能下载,那就去网上其他地方找找,反正这种东西网上多的是)JDK 下载地址是:http://www.oracle.com/technetwork/java/原创 2017-02-17 11:33:26 · 4890 阅读 · 1 评论