C++
落红尘一梦
这个作者很懒,什么都没留下…
展开
-
C/C++ 实现的websocket客户端和服务器
领导安排实现一个websocket客户端做测试用,因为工位电脑上的环境只有vs2019和boost1.78.0,所以只能基于boost.beast开发。擅长Qt并且有Qt开发环境的用QWebsocket更方便。官方的example中仅仅输出到控制台,而且不支持中文,这里我加入了ansi到utf8的转换,使用utf8就能正常解析中文。注:项目需包含boost库客户端代码:#include<time.h> #include <boost/beast/core.hp原创 2022-03-16 16:34:17 · 9235 阅读 · 0 评论 -
静态数组和动态数组的区别
1. 静态数组在内存中位于栈区,是在定义时就已经在栈上分配了固定大小,在运行时这个大小不能改变,如:int a[10]; 动态数组是malloc或者new出来的,位于内存的堆区,它的大小是在运行时给定,并且可以改变其,如: int *a; a = new int[10];2. 静态数组的大小是在编译期间就确定,并且分配的,其内存在使用结束后由计算机自动释放,效率高;动态数组是在程序运行时,由程序员根据实际需要从堆内存中动态申请的,使用结束后由程序员进行释放,效率低。3. ...原创 2021-08-10 14:55:59 · 11012 阅读 · 0 评论 -
2020-12-31
创建动态链接库及类的导出创建一个动态库项目BDLL,在其中创建一个类B作为导出类//头文件#ifndef BBB_h__#define BBB_h__class __declspec(dllexport) BBB{public: BBB(void); ~BBB(void); int GetB();};#endif // BBB_h__//源文件#include "BBB.h"BBB::BBB(void){}BBB::~BBB(void){}int原创 2021-01-05 15:54:19 · 266 阅读 · 0 评论 -
判断图片格式
if(0xFF == buffer[0] && 0xD8 == buffer[1]) //JPG格式if('B' == buffer[0] || 'M' == buffer[1]) // BMP格式原创 2020-04-02 15:04:32 · 197 阅读 · 0 评论 -
VS2013中C++方式的进程间通信---socket
服务器进程:#include <Windows.h>#include <iostream>using namespace std;#pragma comment(lib, "ws2_32.lib")SOCKET ServerSocket;SOCKET CientSocket;#define IP_ADDRESS "127.0.0.1"#def...原创 2018-10-19 16:21:49 · 1562 阅读 · 1 评论 -
VS2013中C++方式的进程间通信---共享内存
进程A:#include <Windows.h>HANDLE hMapFile = INVALID_HANDLE_VALUE;LPVOID lpBase = NULL;#define BUF_SIZE 8 //设置共享内存长度int main(int argc, char *argv[]){ //功能:采用共享内存方式将端口号写入内存中供客户端读取 cha...原创 2018-10-18 17:32:16 · 1845 阅读 · 0 评论 -
在C++应用程序中设置生成dump并使用VS进行调试
首先,包含头文件#include "Windows.h"#include "DbgHelp.h"其次,在代码中添加这两个函数int GenerateMiniDump(HANDLE hFile, PEXCEPTION_POINTERS pExceptionPointers, PWCHAR pwAppName){ BOOL bOwnDumpFile = FALSE; HANDL...原创 2018-10-18 16:19:34 · 1216 阅读 · 0 评论 -
在Windows环境下使用gcc生成可执行程序简介
gcc(GNU编译器套件)。gcc的初衷是为GNU操作系统专门编写的一款编译器,可以处理多种编程语言:C、C++、Objective-c 、Objective-c++、Fortran、 Java 、Ada 、Go及汇编语言。基本用法:在使用gcc编译器时,我们必须给出一系列必要的调用参数和文件名称。调用参数大约有100多个,具体可参考GCC Manual。用法:gcc [options...原创 2018-09-20 15:59:19 · 9197 阅读 · 0 评论 -
在Windows环境下安装及配置gcc编译器
我们都知道,gcc是GNU操作系统的编译套件,那么在Windows系统下可以使用gcc吗?答案是可以的。介绍MinGW首先我们先介绍下MinGW,MinGM是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称,见名知意,是在Windows上部署了一个简洁版的GNU系统,是一套GNU的缩减工具集合,其中就有我们需要的gcc。...原创 2018-09-20 14:49:52 · 3754 阅读 · 0 评论 -
创建第一个Qt Quick Application
1、创建工程2、 mainc.pp源码#include <QGuiApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){ QGuiApplication app(argc, argv); QQmlApplicationEngine en...原创 2018-09-17 18:27:53 · 2043 阅读 · 0 评论 -
双击运行Qt应用程序报缺库不一定都是打包的问题,有可能是程序本身代码逻辑的问题
打包发布开发完成的QT应用程序到别的无Qt开发环境的机器上双击打开运行,结果报了如下提示:按字面意思一直以为是缺库或库不对应的问题,折腾一番后实在找不出原因就去逐看代码,结果发现还真是代码问题导致的。我用的是vs+qt的开发环境,要看应用程序都用到哪些库了可以在vs中点击运行,在输出视图中便可以看到应用程序都在加载调用哪些库了,显示信息如下:真正发现问题是通过对比查看正常的和不...原创 2018-09-10 16:11:34 · 320 阅读 · 0 评论 -
使用QT自带打包工具windeployqt.exe打包程序
步骤:1、新建一个文件夹,随意取名Release2、放入编译好的应用程序,以QConfigure.exe为例3、在Qt安装目录D:\Qt\32\Qt5.5.1\5.5\msvc2013\bin下找到windeployqt.exe,将windeployqt.exe放到Release文件夹下4、在文件夹路径栏中输入“cmd”打开命令行窗口,在其中输入“windeployqt QCo...原创 2018-09-10 15:44:01 · 2475 阅读 · 1 评论