自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 QT/VS 选中字母大小写快捷键

选中字母大小写快捷键

2024-06-17 15:10:44 380

原创 C++互斥代码实现

【代码】C++互斥代码实现。

2024-06-17 15:05:25 189

原创 C++封装TCP类,包括客户端和服务器

C++封装TCP类,包括客户端和服务器

2024-06-16 13:21:38 531

原创 MFC格式化打印输出函数

【代码】MFC打印输出函数。

2024-05-29 14:44:54 163

原创 QString转16进制数组

QString转16进制数组

2024-04-23 11:56:01 583

原创 C/C++函数可变参数

C/C++函数可变参数

2024-04-15 15:14:56 258

原创 C++获取变量类型

C++获取变量类型

2024-04-15 15:05:38 455

原创 C++实现归并排序

c++实现归并排序

2024-04-03 15:57:58 236

原创 C++实现windows高精度微秒级延时(亲测可用)

C++实现windows高精度微秒级延时(亲测可用)

2024-04-03 13:55:00 1336

原创 GPIO之MIO控制LED实验-基于ZYNQ7015

GPIO之MIO控制LED实验-基于ZYNQ7015

2024-02-29 17:56:32 405

原创 企业链表实现-C语言

企业链表实现-C语言

2024-01-27 12:37:50 539

原创 C++使用UDP

对c++使用udp做了简单封装,可直接运行

2023-12-16 17:33:44 838 1

原创 C++导出C标准的dll动态库

C++导出C标准的dll动态库

2023-12-15 17:03:25 598

原创 C++使用共享内存

c++使用共享内存,封装了一个共享内存类。

2023-12-15 15:57:38 932

原创 当前程序只能打开一次且隐藏

当前程序只能打开一次且隐藏

2023-12-14 14:22:13 451

原创 vs2015编译和调用dll

1.创建win32项目,选择dll,其他不勾选2.在dllmain.cpp中添加导出的函数,例int ave(int a, int b){ return (a + b) / 2;}3.项目中添加模块自定义文件添加内容LIBRARYEXPORTS ave4.加载#include <iostream>#include <Windows.h>typedef int(*FAVE)(int, int);typedef int(WINAPI* FAVE_1)(

2022-05-13 11:06:22 1295

原创 c++读取文件中的数据

使用c++读取文件中的数据文件中的内容是一些数据30 31 32 33 34 35 36 37 38 39 40 ......读取文件中数据的函数#include <fstream>void loadFile(char* filename){ std::ifstream ifs; ifs.open(filename, std::ios::in); if(ifs.is_open()) { int tmp = { 0 };

2022-05-06 14:33:32 3499 1

原创 Qt5.14.2编译mysql

Qt5.14.2编译mysql1 找到并打开mysql.pro文件2 修改mysql.pro文件的内容2.1注释QMAKE_USE += mysql2.2添加mysql的lib库和包含目录2.3添加目标文件对应的目录2.4相关修改如下3 编译4 找到生成的文件5 将生成的文件拷贝到Qt的安装路径下1 找到并打开mysql.pro文件在QT的安装路径下找到mysql.pro文件,我这里的路径是:D:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers

2022-04-19 20:25:17 2200 6

原创 MFC设置字体的大小、下划线等内容

以CEdit控件为例CFont* m_Font;m_Font = new CFont;m_Font->CreateFont( -15/*高度*/, -7.5/*宽度*/, 0/*不用管*/, 0/*不用管*/, 400 /*一般这个值设为400*/, FALSE/*不带斜体*/, TRUE/*不带下划线*/, FALSE/*不带删除线*/, DEFAULT_CHARSET, //这里我们使用默认字符集,还有其他以 _CHARSET 结尾的常量可用 OUT_CHARACTER_PRECI

2021-12-25 15:43:29 1406

原创 MFC填充对话框背景和设置鼠标拖动

MFC填充对话框背景和设置鼠标拖动1.打开对话框属性窗口2.添加消息WM_ERASEBKGNDWM_LBUTTONDOWN3.添加对应的代码BOOL CMFCTestDlg::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CBrush brush(RGB(0, 0, 0)); CRect rc; GetClientRect(&rc); pDC->FillRect(&rc, &brush);

2021-12-20 10:22:43 376

原创 宽字节转多字节

std::string toString(const std::wstring str){ int len = WideCharToMultiByte(CP_ACP, 0, str.c_str(), -1, NULL, 0, NULL, NULL); std::string ret; if (len <= 0) return ret; ret.resize(len); WideCharToMultiByte(CP_ACP, 0, str.c_str(), -1, (char*)ret.c_

2021-12-12 00:03:23 459

原创 msxml节点接口

MSXML对应的头文件<msxml2.h>IXMLDOMNodeget_nodeNameget_nodeValueput_nodeValueget_nodeTypeget_parentNodeget_childNodesget_firstChildget_lastChildget_previousSiblingget_nextSiblingget_attributesinsertBeforereplaceChildremoveChildappendChildha

2021-12-05 15:05:46 518

原创 json使用的例子(jsoncpp)

jsoncpp

2021-12-03 23:46:42 574

原创 mysql学习笔记

启动/停止管理员身份打开cmd启动: net start mysql停止: net stop mysqlmysql服务端的登录和退出方式一:mysql自带的客户端方式二:cmd登录:mysql -h localhost -P 3306 -u root -ph: hostP: 端口号登录本地:mysql -u root -p退出:exit/ctrl + c查看mysql服务端的版本方式一:客户端中输入:select version();方式一:cmd中输入:mys

2021-11-22 22:39:15 430

原创 手写线程池(c++实现)

TaskQueue.h#pragma once#include <pthread.h>#include <queue>using callback = void(*)(void* arg);template<typename T>struct Task{ Task<T>() { function = nullptr; arg = nullptr; } Task<T>(callback f, void* arg) {

2021-11-22 17:10:47 2052

原创 手写线程池(C语言实现)

threadpool.h#ifndef _THREADPOOL_H#define _THREADPOOL_Htypedef struct ThreadPool ThreadPool;// 创建线程池并初始化ThreadPool* threadPollCreate(int min, int max, int queueSize);// 销毁线程池int ThreadPoolDestory(ThreadPool* pool);// 给线程池添加任务void threadPoolAdd(T

2021-11-18 00:59:49 709

原创 RTSP协议详解

RTSP协议详解RTSP协议是基于RTP和RTCP之上的RTSP使用RTP传输媒体数据,使用RTCP来交互控制命令整个协议是先用RTSP进行信息交互然后再使用RTP/RTCP进行媒体数据传输RTSP的控制命令交互格式客户端的请求格式:Method url version\r\nCSeq: x\r\nxxx\r\n...\r\nmethod表示方法,具体见后面详细内容Url就是请求地址,一般为rtsp://ip:port/session 默认554端口 常见:8554端口Ve

2021-11-08 02:01:01 1203

原创 extern关键字的作用

extern关键字的作用extern可以置于变量或函数前,以标识变量或函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其他模块中寻找其定义。

2021-11-06 03:01:41 848

原创 vlc库的基本使用

关键的库函数:创建实例libvlc_new()加载媒体libvlc_media_new_path()/libvlc_media_new_location()(file:///、http://、rtsp://、screen://)创建播放器libvlc_media_player_new_from_media()设置播放窗口libvlc_media_player_set_hwnd()开始播放libvlc_media_player_play()获取播放长度libvlc_media_play

2021-11-05 17:44:33 4159 7

原创 基于epoll的高性能服务端

#include <stdlib.h>#include "XTcp.h"#include <string.h>#include <thread>class TcpThread{public: void Main() { char buf[1024] = { 0 }; for (;;) { int recvlen = client.Recv(buf, sizeof(buf) - 1); if (recvlen <= 0) brea

2021-11-05 00:23:39 118

原创 fcntl函数

fcntl()函数,设置非阻塞int flags = fcntl(fd, F_GETFL);flags |= O_NONBLOCK; //O_NONBLOCK: 0为阻塞,1为非阻塞fcntl(fd, F_SETFL, flags);

2021-11-04 14:36:48 414

原创 C4996 ‘strcpy‘: This function or variable may be unsafe.

VS报错:C4996 ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.解决方案:方法一: 属性页 C/C++ --> 高级 --> 禁用特定警告 加上4996。方法二:属性页 C/C++ --&gt

2021-11-03 22:14:36 774

原创 C1010 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h“”?

报错:C1010 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h””?解决方案

2021-11-03 21:48:32 141

原创 跨平台网络编程:创建XTcp类接口

XTcp.h#pragma once#include <string>class XTcp{public: int CreateSocket(); bool Bind(unsigned short port); XTcp Accept(); void Close(); int Recv(char* buf, int bufsize); int Send(const char* buf, int sendsize); XTcp(); virtual ~XTcp(); i

2021-11-03 17:39:50 266

原创 跨平台网络编程:多线程服务器

#include <string.h>#include <stdio.h>#include <stdlib.h>#ifdef WIN32#include <windows.h>#define socklen_t int#else#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <arpa/inet.h&

2021-11-03 15:27:06 165

原创 未定义标识符socklen_t

windows下VS报错:未定义标识符socklen_t解决方案:方法一:将socklen_t替换成int方法二:使用宏定义,在文件前面加上#define socklen_t int

2021-11-03 15:18:26 3401

原创 跨平台网络编程:创建套接字

#ifdef WIN32#include <windows.h>#else#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#define closesocket close#endif#include <stdio.h>//#pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]

2021-11-02 22:48:05 125

原创 samba配置

1.安装samba先切换到root用户,然后进行安装apt-get install samba2.打开文件配置vim /etc/samba/smb.conf3.修改配置内容在文件的末尾添加以下内容:[code]path = /codewriteable = yesbrowseable = yesguest ok = yes4.需要重新启动如果之前启动过,需要把它关掉pkill smbd然后启动smbd5.创建目录,设置权限先创建目录mkdir /code然

2021-11-02 12:54:32 234

原创 c++实现简单链表

struct Node { Node* next; int data;};struct List { Node* phead; List() { phead = new Node(); phead->next = NULL; } void push_back(int x) { Node*p = phead; while (p->next) { p = p->next; } p->next = new Node(); p->n

2021-11-02 02:46:09 77

原创 字符串转整型

字符串转整型#include <iostream>using namespace std;int chars2int(const char* a){ int i = 0; while (a[i] != '\0') { i++; } int* b = new int[i]; int ans = 0; for (int j = 0; j < i; j++) { b[j] = (int)a[j] - 48; ans += pow(10, i - j - 1)

2021-10-30 01:22:54 74

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除