C++
我啥都会
哼!我很懒,我什么都不写
展开
-
CTK学习:(一)编译CTK
CTK Plugin Framework是用于C++的动态组件系统,以OSGi规范为模型。在此框架下,应用程序由不同的组件组成,遵循面向服务的方法。ctk是一个开源项目,Github 地址:https://github.com/commontk。源码地址。原创 2023-02-19 22:11:28 · 1061 阅读 · 0 评论 -
基本排序算法-C++
算法思路:快速排序采用了分块处理或叫分治的思想,选取一个中心点,将剩下的数字比中心点大的放在右边,比中心点小的放在左边,以此形成两个子序列,继续如此,直到子序列中元素只剩一个。默认选取第一个元素为中心点,然后从右边开始移动右光标,将光标指向的数字与中心点进行比较,如果比中心点大,则光标继续移动,如果比中心点小,则将当前数放在左光标处。算法思路:对于n个无序数,进行n次排序,每一次都是两两比较,进行交换,将大的数往后面放,这样每一次比较下来就能将当前比较的数字中最大的找出来。算法时间复杂度 :O(n^2)原创 2023-02-08 11:42:20 · 138 阅读 · 0 评论 -
单向链表及二级指针
如添加节点的话,传递一级指针即可,因为例如尾插只需要根据头节点地址找到为最后一个节点,然后插入。当然传递二级指针也是可以的,只不过没什么必要,如文中代码可能会在添加节点的代码addNode中初始化第一个节点,则使用二级指针能够兼容两种情况。一般传递的指针参数为链表头节点的指针,如果对应的操作里需要修改头指针本身的值,则需要传递二级指针即头指针的地址或称头指针的指针。经常搞不清楚什么时候用二级指针,什么时候用一级指针。如初始化头节点,则需要传递二级指针,因为初始化头节点这个操作需要为一级指针的值去赋值。原创 2023-01-31 10:57:36 · 750 阅读 · 0 评论 -
C++十六进制转十进制
题目:十六进制字符串转十进制,进行输出。原创 2023-01-29 17:42:05 · 1201 阅读 · 0 评论 -
screenviewer工具在树莓派3B+上的适配
屏幕截图web端展示功能、视频设备如摄像头、视频流等接入,并可web端展示。适配初衷:这样的工具如果能完美运行在嵌入式linux上是极好的,目前仅适配了windows,所以决定适配下树莓派。原创 2022-12-19 17:03:54 · 682 阅读 · 0 评论 -
cmake中编译动态库且依赖fortran动态库问题记录
问题背景:客户给了一个fortran创建的动态库,让我们测试是否可以使用。前提:我们是nodejs项目。问题现象:经过一系列折腾之后,客户给过来了正确动态库。(1)nodejs直接调用so:ffi编译出现一堆环境问题且这种方式仅能调用c语言编写的动态库,客户提供的是fortran库,遂放弃。(2)gcc直接编译demo工程,可以调用。gcc test.cpp xxx.so -o myout(3)cmake中编译demo调用fortran库,一直报找不见该动态库。解决办法:CMakeLists.txt中增加以原创 2022-12-06 12:43:30 · 759 阅读 · 0 评论 -
c++中一些常见技巧
c++中一些常见技巧。原创 2022-10-23 11:04:26 · 388 阅读 · 0 评论 -
string转utf8编码、字符串替换
string转utf8编码、字符串替换原创 2022-10-23 10:42:11 · 1502 阅读 · 0 评论 -
高版本msado15.dll编译的程序读取access在低版本系统下报错空指针的问题(错误码:0x80004003)
在程序中使用相对路径去导入msado15.dll 在低版本系统时使用该系统上的msado放在exe运行目录即可。原创 2022-10-19 18:52:03 · 521 阅读 · 0 评论 -
MFC中::PostMessage发送字符串造成数据错乱问题
我是摘要!原创 2022-10-14 13:59:43 · 730 阅读 · 0 评论 -
Qt+Opencv+Ffmpeg实时摄像头数据推流,并在WEB端显示
此部分有大体两个方案:Ⅰ.nginx+rtmp模块,最终会依赖浏览器的flash,现在浏览器基本都放弃了flash,所以我也放弃了这个方案;Ⅱ.nodejs的npm模块,即node-meida-server,不依赖flash,我选择了它。整体方案如第二部分所示,主要由四部分组成:硬件视频采集设备、视频捕捉模块、流媒体服务、流媒体播放器。涉及的功能技术点有三块:a.实时视频采集与推送;本文主要介绍下利用Opencv获取摄像头视频数据,并结合ffmpeg推流到流服务器,并在前端页面中显示的整个思路与实现。原创 2022-10-02 21:42:18 · 3990 阅读 · 1 评论 -
结构体变量内存申请与释放
结构体是C、C++开发中不可或缺的数据结构,往往涉及到函数的入参以及出参等,也必然涉及到参数的初始化。对于字符串往往是需要在堆上开辟一定空间的,本篇文章记录下相关知识!原创 2022-09-29 15:20:55 · 1566 阅读 · 0 评论 -
WEB端显示摄像头实时图像数据
前言为实现远程画面监视,大致上有两种思路:(1)实时视频数据的传输;(2)实时图像数据的传输。本篇主要讲述下实时图像数据传输的方式。方案详情。原创 2022-08-23 18:10:35 · 1869 阅读 · 3 评论 -
解决Qt程序点击关闭时显示异常退出以及低版本系统上如win7、xp上会提示已停止工作等问题
现象2:如win7或其他系统上报错如下。解决办法:将w new出来即可解决。现象1:点击关闭提示。原创 2022-08-11 19:04:24 · 2286 阅读 · 2 评论 -
在Qt中使用SmtpClient发送邮件
前言前言邮件发送功能是一个非常常规的功能,Qt中貌似没有提供直接发送邮件的库,基于此,本文介绍一个发送邮件的库,用起来还不错。下载下载:在Qt中发送邮件的库。-C++文档类资源-CSDN下载发送邮件的库发送邮件的库发送邮件的库发送邮件的库发送邮件的库发送邮件的库发送邮件的库发送邮件的库发送更多下载资源、学习资料请访问CSDN下载频道.编译常规编译,没什么值得注意的。使用pro中引入库文件。......原创 2022-08-09 10:00:28 · 828 阅读 · 0 评论 -
跨平台音频播放库
跨平台音频播放库介绍原创 2022-07-20 13:58:22 · 955 阅读 · 0 评论 -
实时天气API
和风天气提供全球15万个城市和多种兴趣点(POI)的天气数据服务,除了通过GeoAPI获取城市和POI信息以外,我们还提供了一些常见城市和POI的列表。原创 2022-07-20 11:31:23 · 1882 阅读 · 0 评论 -
Qt创建应用程序托盘及相关功能
Qt创建应用程序托盘及相关功能原创 2022-07-18 15:26:38 · 255 阅读 · 0 评论 -
Qt应用程序防止多开,即单例运行
Qt应用程序防止多开,即单例运行原创 2022-07-18 15:20:04 · 590 阅读 · 0 评论 -
Qt程序最小化托盘后,再弹出个msgbox,点击确定后程序退出问题解决
Qt程序最小化托盘后,再弹出个msgbox,点击确定后程序退出问题解决原创 2022-07-18 15:16:33 · 315 阅读 · 0 评论 -
visual studio开发nodejs的C++扩展
visualStudio封装nodejs的C++扩展1.背景都知道vscode在封装nodejs的C++扩展时,通过配置python、node-gyp等环境,就可以在windows和linux下编译出.node,但本人觉得那个环境配置比较麻烦,简单的代码一小时,环境三四天。对于偏爱vs开发C++的我,对vs在windows下编译.node进行了相关研究。2.清单visual stu......原创 2019-12-27 12:57:54 · 1529 阅读 · 9 评论 -
DiaryTool历史版本更新记录
Release notes:version:2.3.21.发送日报增加耗时统计;2.增加查看历史发布记录的功能;3.增加在线文档链接功能(仅管理员特殊配置方可使用)。原创 2022-04-12 18:56:29 · 220 阅读 · 0 评论 -
DiaryTool使用说明
高效工作的工具、自动发送钉钉日报原创 2022-04-10 15:47:35 · 561 阅读 · 0 评论 -
改善程序设计的55个具体做法(二)
让自己习惯C++条款02:尽量以const、enum、inline替换#define原创 2021-07-31 14:35:10 · 154 阅读 · 0 评论 -
改善程序设计的55个具体做法(一)
让自己习惯C++条款01:视C++为一个语言联邦C。 说到底C++仍是以C为基础。区块(blocks)、语句(statements)、预处理器(preprocessor)、内置数据类型(build-in data type)、数组(arrays)、指针(pointers)等统统来自C。许多时候C++对问题的解法其实不过就是较高级的C解法(例如条款2谈到预处理器之外的另一种选择,条款13谈到以对象管理资源),但当你以C++内的C成分工作时,高效编程守则映照出C语言的局限:没有模板(templates.原创 2021-07-31 14:24:58 · 336 阅读 · 0 评论 -
C++温习---友元
基本概念 友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。友元函数在实现类之间数据共享时,可以减少系统开销,调高效率。比如:类A中的函数需要访问类B中的成员,那么类A中该函数要是类B的友元函数。友元函数允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。 使用友元类时注意: (1)友元关系不能被继承。 ...原创 2021-01-20 15:35:38 · 187 阅读 · 0 评论 -
C++ 回调函数之函数指针
零、名词解释回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。---百度百科 函数指针:本质上是一个指针,指向一个函数。一、函数指针定义: type (*pFun) (typeA, typeB); 指向的函数的返回类型 (* 函数指针名称) (指向的...原创 2020-07-12 17:02:37 · 1122 阅读 · 0 评论 -
Qml结合声网Agora SDK创建视频通话项目(一):Qml创建自定义登录模块
0、前言音视频通话是现在通讯类项目必备的一个功能,刚好对声网agora感兴趣,如今以一个音视频通话项目来复习或者说学习被自己遗忘了的qml技术,qwidgets如今已经很成熟,处于一个维护状态,之后qml将处于一个蓬勃发展的阶段。qml构建快速、美观的用户界面,也处理部分业务逻辑,而核心逻辑交给C++来处理,这使得ui与逻辑进行了分离。1、项目简介项目简单绘制:1.1 登录页面的绘制绘制页面时采用:设计器与手写结合。源码:import QtQuick 2.4impo.原创 2020-06-27 11:27:40 · 683 阅读 · 0 评论 -
在Qt中使用mongoose.c以及mongoose.h报错解决办法
错误截图如下:错误原因:没找到advApi32.lib解决办法:在工程文件中加入 LIBS += -lAdvAPI32原创 2020-04-26 23:07:11 · 1078 阅读 · 2 评论 -
c++利用mongoose搭建restful风格的webservice
c++利用mongoose搭建restful风格的webservice0、mongoose介绍跨平台:可在linux/unix macos QNX eCos Windows Android Iphone FreeRtos上运行支持的硬件平台: TI CC3200, TI MSP432, NRF52, STM32, PIC32, ESP8266, ESP32 and more内置协议栈:...原创 2020-04-22 12:29:21 · 1359 阅读 · 0 评论 -
C++利用mongoose搭建web服务器
0、前言 Mongoose是c语言写成的网络库。它为TCP、UDP、HTTP、WebSocket、CoAP、MQTT实现了事件驱动型的非阻塞api。其具有以下特性: 跨平台:可在linux/unix macos QNX eCos Windows Android Iphone FreeRtos上运行; 原生支持PicoTCP的嵌入式tcp/ip协议栈...原创 2020-04-17 17:09:50 · 10618 阅读 · 13 评论