自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (5)
  • 收藏
  • 关注

原创 【C++】vscode(0插件)+cmake+MinGW开发环境搭建

msys2和mingw适用于windows系统,其余vscode配置可通用win和linux系统。

2023-07-18 12:04:49 528

原创 Linux默认以root或管理员权限启动程序的三种方式

Linux系统默认以管理员、root权限启动程序

2022-01-03 18:13:01 17732 2

原创 【C++】libwebsockets库的简易教程

说在前面最近很长一段时间,都有在嵌入式上进行websocket通信的需求。查了很多资料,现在C++可用的ws第三方库不多,尤其是在较老的嵌入式开发环境中,既要支持C99和SSL,又需要轻量级不依赖第三方库,基本上就只剩下libwebsockets这个库了。但是libwebsockets库是纯C开发,没有C++的特性,所以很多逻辑非常抽象,设计思路也很诡异,与之前接触的很多三方模块差异太大。我扒了源码的demo,又从官方git、wiki上找了一点资料,才勉强搞清楚了一个简单的ws客户端的大致生命周期流程

2021-02-24 17:48:01 15818 2

原创 CMake简易教程,常用语法命令,以及交叉编译

CMake笔记概述正常流程:预编译、编译、汇编、链接Visual Studio(集成开发环境IDE:编辑器、编译器VC++、nmake、调试器),比较傻瓜的进行完整的编译流程,不需要开发者干预。禁用VisualStudio后,windows平台下无法使用此流程工具,部分代码也因为引用了VC++的特性,所以也许要进行一定的改造重构cmake优点:跨平台、支持多种编译器:vc++、mingw、crgwin、lcc等,利于开发者掌握代码模块间的关联性;缺点:官方文档比较杂,没有优秀的官方范例,

2020-12-28 14:35:50 597

原创 Linux Alsa库,遍历播放、录音设备信息,aplay、arecord扒源码(暂未注释)

最近在研究Linux的alsa录音、播放相关知识,调用libasound的第一步,都是要获取相关设备的句柄,但是光看官方文档,实在是云里雾里,只要先从alsa的命令工具入手alsa的命令 aplay -l 和 arecord -l,可以遍历PC的所有录音设备和播放设备然后扒了一下这个命令的源码,在alsa-util的aplay.c文件里,然后重新整理了一下,去除了一些不需要的#define宏和全局变量得到如下代码附带上libasound.so依赖库,就能直接运行获得设备列表#inclu

2020-10-21 19:00:29 2213

原创 Windows编译ActiveMQ-cpp-Library

编译环境、编译工具:win10系统Visual Studio 2017(需要安装windows SDK 8.1组件)cmake 3.18准备组件:1.OpenSSL 1.0.2u可以自己编译,也可以下载第三方编译好的我使用的是第三方OpenSSL下载地址:http://slproweb.com/products/Win32OpenSSL.html2.apr-1.7.0、apr-util-1.6.1、apr-iconv-1.2.2(下载地址:https://..

2020-07-05 00:12:15 880 1

原创 编译apache运行库,apr提示缺少“apr_escape_test_char.h”解决方案。

最近在windows平台编译ActiveMQ的时候,一直卡在编译apr运行库的步骤上,反复提示缺少“apr_escape_test_char.h”头文件。在网上查了很多资料,要么是官方直接给出了apr_escape_test_char.h的内容,要么是第三方提供了apr_escape_test_char.h文件,就是没人能解释这个文件是从哪来的。一阵没头苍蝇乱撞,我居然在一台电脑上莫名其妙倒腾出来了这个文件,也不知道是怎么就生成的。我apr_escape_test_char.h文件第一行里看到了一段注释

2020-07-04 21:44:37 654 1

原创 【Python】embedded null character错误

Python进行文件读写操作的时候,在open()打开文件的时候遇到了embedded null character错误网上搜了一下问题,发现同样的问题,引起的原因还不一样我自己的问题是"\0"引起的源码FileHead = struct.unpack("<c32sQ", bFileHead)FileName = FileHead[1]decode("gbk") # 文...

2018-11-16 11:15:42 6823

原创 【Qt】QString中文转C++ char*乱码问题

QString().toStdString().c_str()转出的char*字符串,如果是英文不会出问题,但是如果QString含有中文字符,就会出现乱码 解决方法:QByteArray ba=QString().toLocal8Bit();char *str=ba.data(); PS:不能一步写成 char *str=QString().toLocal8Bit()...

2018-10-25 09:11:26 6932 2

原创 【C++】Windows,实现TFTP下载客户端(不支持上传功能)

#include "stdafx.h"#include <WinSock2.h>#include <iostream>#include <WS2tcpip.h>#include <cstdlib>#pragma comment(lib,"ws2_32.lib") using namespace std;//初始化winsock,获取...

2018-08-16 16:23:22 1726 2

原创 【Qt】QString,std::string,char中文字符互相转换

关于QString显示中文字符不乱码的问题,参见:http://blog.csdn.net/shihoongbo/article/details/47677159#include #include #include #include #include std::string QString2stdString(QString qstr){ std::string std

2017-03-20 10:32:12 2180

原创 【C++ Windows】多线程:创建、挂起、恢复,信号量

线程函数(静态,全局)DOWRDWINAPI Thread(LPVOID lp){return 0;}创建线程HANDLE handle=CreateThread(NULL,0,Thread,lp,NULL,NULL);着重第三个,第四个参数:线程函数地址,传入线程的参数第六个参数为返回的线程ID,LPDWORD类型Thread函数DWORD W

2017-02-22 16:45:42 3171

原创 【拾遗】Qt自动打包附加依赖库方法

不知道为啥,总有人问我windows平台怎么样快速打包Qt可执行程序exe大部分都是嫌一个一个拖拽Qt的dll实在是太麻烦了Qt本身就带了自动打包命令,前提是Qt的环境变量配好用release模式编译好exe文件,将exe文件放到一个空文件夹里启动命令行cmd命令:windeployqt X:\\XX\\XX\\XX\\XXX.exe(该exe所在绝对路径)自动将Q

2016-11-29 15:50:30 1277

原创 【Qt】Q_OBJECT宏,编译报错,解决办法(多继承Object情况下)

多继承QObject情况下使用Q_OBJE宏编译出错问题的解决办法

2016-10-18 22:33:14 8978 11

原创 【Qt】槽函数中获取发出信号的对象

核心:QObject::sender()对于信号与槽的连接connect( obj1 , SIGNAL(sigFun()) , obj2 , SLOT(slotFun()) )或者connect( obj1 , &Object1::sigFun , obj2 , &Object2::slotFun )可以通过信号与槽函数的参数来传递数据但是存在一些情况,我们希望能在

2016-10-14 16:01:25 6584 2

原创 【Qt】qDebug()调试信息保存至txt日志文件

开发环境:Win10 Qt5.7.0 VisualStudio2015核心:qInstallMessageHandler函数Qt可将qDebug()输出的信息(其他信息),进行额外处理最常见的用法,是将输出信息保存到txt文本文件中,可做发布后日志功能

2016-10-09 11:01:34 5766 3

原创 【C++】Winsock套接字编程,简单的socket通信代码(客户端、服务端)

上接前两章操作系统:Windows10开发环境:VS2015服务端代码:// TCPserver.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include #pragma comment(lib,"ws2_32.lib")using namespace std

2016-07-14 21:47:23 12670 2

原创 【C++】Winsock套接字编程,struct sockaddr、sockaddr_in,主机网络字节序

前一篇关于windows平台下winsock套接字编程的相关apistruct sockaddr与struct sockaddr_in在bind函数,connect函数里提到了套接字编程网络地址信息结构体const struct sockaddr和const struct sockaddr_in关于const struct sockaddr是通用的套接字网络地址信息结构

2016-06-11 17:05:42 4241

原创 【C++】Winsock套接字编程(TCP/IP协议体系)常用API

鄙人水平浅薄,如有错误,欢迎大神指正系统环境:Windows10 64位开发环境:VisualStudio2015PS:关于本文提供的winsock套接字API,是针对win操作系统的,但是大部分API对于linux系统一样适用,可能部分类型win系统进行了typedef类型申明(比如socket函数创建套接字时,win返回的是typedef后的SOCKET,linux

2016-05-24 14:21:30 2698 1

原创 【拾遗】C++申请动态连续内存的二维数组

前几天去科大讯飞面试,其他问题回答的都还不错,但是被问到这个“如何动态申请一个连续内存空间的二维数组”时,稍微顿了一下。倒不是回答不上来,而是之前从没有尝试敲过这样的代码,光说思路实在是太干瘪。回来以后,尝试了几段代码,又和不少人讨论了一下,把代码撸了出来。先说思路:对于要求的x*y的二维数组,可以先申请一段连续的x*y内存空间,然后通过指向指针的指针的重新定位每行开头的位置。

2016-04-19 17:29:49 3383 3

原创 【算法笔记】动态规划,三个例题(解题思路与C++代码)

这个笔记参考了《算法导论》第二版和第三版两版里,关于动态规划的基本模型范例:“装配线调度”,“切割钢条”,再加上一个比较简单的ACM入门题“拦截导弹”,来分析一下动态规划的具体内容。 从个人角度来说,这三个模型范例的难度依次是:拦截导弹<切割钢条<装配线调度;

2016-04-18 23:43:45 8146

转载 【拾遗】检测cin输入是否满足类型

int a;cin>>a;if(cin.good()){    //输入正确}else{    //输入错误;}

2015-11-11 11:12:56 566

转载 【Qt】QString向C/C++转换

QString str;str.toStdString();// Returns std::string, usually in UTF-16str.toUtf8().constData();// Returns const char * in UTF-8str.toUtf8().toStdString();// Returns std::string in UTF-8

2015-10-27 16:09:44 593

原创 【Qt】条形码制作器(Code39编码)

环境:Qt5.3 MSVC2010编译器:Qt Creator描述:        最近公司项目卡在了POS机打印小票上,因为涉及打印机太多,很多打印机对ESC/POS指令集支持又不是特别好,所以直接用ESC指令集打不出需要的条形码。唯一的方式只有先生成需要的条形码图片,再解析图片把数据发送给POS小票机打印。主要问题就是生成条形码算法了。        现在最常见的条

2015-10-22 10:47:17 5862 5

原创 【Qt】调用WindowsMediaPlayer进行视频播放

环境:Qt5.5编译器:QtCreator对于Windows平台,Qt有特有模块来调用ActivityX控件比如调用WMP,我们需要知道WMP的CLSID最初的时候,我用的CLSID是{22D6F312-B0F6-11D0-94AB-0080C74C7E95}但是这个版本的wmp比较旧,很多功能都无法实现,最后才知道,应该调用{6BF52A52-394A-11D3-B153-0

2015-10-15 14:53:27 3956 1

原创 【Qt】QTableView表格滚动条样式实现QStyleSheet

环境:Qt5.3IDE:QtCreator效果预览:垂直与水平滚动条样式代码: ui->QTableView->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{" //垂直滑块整体

2015-10-08 11:35:19 12215 1

原创 【Qt】窗体间传递数据(跨控件跨类),三种情况与处理方法

C++ Qt

2015-09-23 16:28:05 20560 14

原创 【拾遗】C++申请与销毁动态二维数组

实质为定义一个指向指针的指针;在一个一维动态数组的每个元素上,再定一个一个动态数组#include#includeusing namespace std;//x行数,y列数void fun(int x,int y){ //定义指向指针的指针 int **n; //先动态申请一个动态一维数组 n=new int * [x]; //循环

2015-09-09 11:27:57 1381

原创 【拾遗】C++ STL容器begin(),end()

2015-08-20C++的容器,常用的begin(),end()返回迭代器,一直以来有一个误区,而且在网上看很多文章,发现都陷入了这个陷阱关于end()返回的迭代器,很多人都认为是返回了指向容器尾部最后一个元素的迭代器,但实际上是错误的。如果指望用end()来获取容器末尾元素的话,代码会直接崩溃。前几天细翻PRIMER的时候,才注意到end()的解释是“尾后迭代器”,也就是说,e

2015-08-20 11:51:09 922

原创 【Qt】Qt5中文乱码

专门找了资料,把目前测试能用的解决中文字符乱码的方法整理的一下

2015-08-15 03:12:40 13257 13

原创 【Qt】滚动条QScroolBar实现滚屏功能

环境:Qt5.3编译器:Qt Creator功能:Qt滚屏功能

2015-08-05 14:43:47 28069 1

原创 Qt窗口最小化到托盘,托盘菜单控制

作为Qt初学者,最近在编写窗口zui

2014-08-13 10:12:03 4286 3

编译失败的Poco库

windows编译的x64版本的Poco库,使用VS2019(vc142)编译,Poco版本1.9.4。包含debug版本和release版本两种,以及include头文件

2020-06-13

Qt窗体间传递数据的三种模型

解决初学者学习Qt窗体间传递数据的问题http://blog.csdn.net/shihoongbo/article/details/48681979

2015-09-23

《算法导论》第三版中文(压缩分卷1)

由于CSDN上传大小限制,所以压缩分卷上下两部分,另一部分请在我的资源中寻找 中文第三版

2015-08-28

LINUX文件去重工具C预言实现

指定某一个目录,对该目录下所有文件进行遍历(非子目录),列举出内容相同的文件,有用户决定取舍

2013-06-24

空空如也

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

TA关注的人

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