自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 【QT + OsgEarth】(一)-- 环境配置

OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++t平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL硬件抽象层(HAL)实现了底层硬件显示的驱动。

2022-09-30 10:47:16 2179

原创 【项目学习】C++实现高并发服务器——代码学习(三)用户注册登录功能

项目来源:WebServer上一篇:存储解析HTTP请求报文,创建响应报文本文介绍以下功能的代码实现利用RAII机制实现了数据库连接池,减少数据库连接建立与关闭的开销,同时实现了用户注册登录功能。...

2022-05-05 18:45:57 2598 2

原创 【项目学习】C++实现高并发服务器——代码学习(二)存储解析HTTP请求报文,创建响应报文

项目来源:WebServer上一篇:Reactor高并发模型本文介绍以下功能的代码实现利用标准库容器封装char,实现自动增长的缓冲区;利用正则与状态机解析HTTP请求报文,实现处理静态资源的请求;一、自动增长的缓存区定义Buffer类class Buffer {public: Buffer(int initBuffSize = 1024); ~Buffer() = default; size_t WritableBytes() const;//可写的字节数

2022-04-12 19:00:04 3175 3

原创 【项目学习】C++实现高并发服务器——代码学习(一)Reactor高并发模型

项目来源:WebServer上一篇:环境搭建本文介绍以下功能的代码实现利用IO复用技术Epoll与线程池实现多线程的Reactor高并发模型;一、IO复用技术IO多路复用使得程序能同时监听多个文件描述符,能够提高程序的性能,Linux下实现IO多路复用的系统调用主要有select. poll和epoll。I/O 多路复用1、epoll函数族epoll_creat: 该函数生成一个epoll专用的文件描述符#include <sys/epoll.h>int epoll_cr

2022-04-10 18:51:34 4927 1

原创 【项目学习】C++实现高并发服务器——环境搭建

项目来源:WebServer用C++实现的高性能WEB服务器,经过webbenchh压力测试可以实现上万的QPS功能利用IO复用技术Epoll与线程池实现多线程的Reactor高并发模型; 利用正则与状态机解析HTTP请求报文,实现处理静态资源的请求;利用标准库容器封装char,实现自动增长的缓冲区; 基于小根堆实现的定时器,关闭超时的非活动连接;利用单例模式与阻塞队列实现异步的日志系统,记录服务器运行状态;利用RAII机制实现了数据库连接池,减少数据库连接建立与关闭的开销,同时实现了用户注册

2022-04-09 16:35:09 3604

原创 【QT】--调用百度地图API显示

1、html文件百度地图提供API示例程序将代码复制到html文件中,用编辑器打开,这里用vs打开在图中位置替换为个人申请的密钥2、Qt程序.pro文件中添加QT += webenginewidgets注意:webenginewidgets仅在Qt5.6之后的版本中使用,且使用msvc2017以上生成工具编译。#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include &l

2022-03-31 19:21:48 4420 17

原创 QT——连接USB摄像头

功能:使用QT连接USB摄像头,点击按钮显示画面QT += multimediaQT += multimediawidgets#include "camera.h"#include "ui_camera.h"Camera::Camera(QWidget *parent) : QWidget(parent), ui(new Ui::Camera){ ui->setupUi(this); iniCamera();}Camera::

2022-03-04 15:22:01 4164

原创 使用3ds Max 转换出osg可用模型

通过文件名后缀决定要导出的具体格式。打开3dsmax, 选择导出。下载 3ds max。选择3dsmax版本。在导出目录中打开模型。

2022-11-15 15:45:22 2498 1

原创 【QT + OsgEarth】(七)-- 加载模型及其变换

所有的变换叠加都是矩阵乘法操作,需要先获取当前的状态矩阵再与变换矩阵相乘。模型的变换都是对模型相关的变换矩阵的操作,一下几种常见操作。直接绑定节点模型,其坐标系为下图中绿色的站心坐标系。,对应的坐标系为地心坐标系即下图中蓝色坐标系。上述代码添加了两个变换矩阵,

2022-11-15 15:06:57 725

原创 CityEngine 导入规则后贴图不显示

打开所引用文件,发现需要导入这个asset。打开所用的规则文件,发现引入以下文件。需要对ESRI.lib进行更新。

2022-11-03 09:44:42 629

原创 获取高程数据以及转灰度图和裁剪操作

获取30m精度高程图,在Global Mapper中打开查看。并进行转换灰度图和裁剪操作

2022-11-03 09:38:11 2126

原创 【OSG】osg实例模型列表

OSG官方实例模型预览

2022-10-31 19:37:28 380

原创 【QT + OsgEarth】(六)-- 添加事件控制器获取鼠标坐标

在左上角显示当前鼠标所在点的经纬度和高度。

2022-10-29 19:39:26 2108 9

原创 【QT + OsgEarth】(五)-- 加载局部高精度地图

【代码】【QT + OsgEarth】(五)-- 加载局部高精度地图。

2022-10-26 19:45:44 1071 1

原创 【QT + OsgEarth】(四)加载国界线矢量图

只有一个shp文件会报错无法读取。给滑动条控件添加槽函数控制透明度。需要包含的文件类型包括。

2022-10-26 19:13:51 933

原创 【QT + OsgEarth】(三)-- 加载离线地球以及星空背景

OsgEarth3.2版本的SkyNode实例化与早期版本不同,使用。使用SkyNode添加星空背景。下载.tif 格式的地图文件。

2022-10-23 18:50:40 1288 3

原创 【QT + OsgEarth】(二)-- OsgEarth + osgQOpenGLWidget 加载地球

osg 和 osgearth 的库文件配置参考。与安装的osg版本一致。

2022-10-23 09:31:43 2244 1

原创 【C++】右值引用

左值、右值通常不是通过一个严谨的定义而为人所知的,大多数时候左右值的定义与其判别方法是一体的。一个最为典型的**判别方法**就是,在赋值表达式中,**出现在等号左边的就是“左值”,而在等号右边的,则称为“右值”**。

2022-09-17 15:36:06 556

原创 【C++并发编程】(一)线程管理

每个程序至少有一个线程:执行函数的线程,其余线程有其各自的入口函数。线程与原 始线程(以main()为入口函数的线程)同时运行。如同main()函数执行完会退出一样,当线程执 行完入口函数后,线程也会退出。使用C++线程库启动线程,可以归结为构造 对象 可以用可调用类型构造,将带有函数调用符类型的实例传 入 类中,替换默认的构造函数。代码中,提供的函数对象会复制到新线程的存储空间当中。函数对象的执行和调用都在线程的内存空间中进行。函数对象的副本应与原始函数对象保持一致,否则得到的结果会与我们的期望

2022-09-13 16:43:11 700

原创 【面试整理】--进程相关

这样即使与FIFO的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过FIFO相互通信,因此,通过。系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。管道也叫无名(匿名)管道,它是是UNIX系统IPC(进程间通信)的最古老形式,所有的UNIX系统都支持这种通信机制。是Linux进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为。不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,但是,进程不是孤立的,...

2022-08-31 14:17:12 98

原创 【面试整理】-- 计算机网络相关

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。在不可靠的物理介质上提供可靠的传输,接收来自物理层的位流形式的数据,并封装成帧,传送到上一层。如果在超时重传定时器溢出之前,接收到连续的三个重复冗余ACK,发送端便知晓哪个报文段在传输过程中丢失了,于是重发该报文段,不需要等待超时重传定时器溢出再发送该报文。字节序,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。...

2022-08-31 14:16:35 144

原创 【面试整理】-- C++语法相关

不能使用默认构造函数,必须提供构造函数来初始化引用成员变量构造函数的形参也必须是引用类型不能在构造函数的函数体中赋值,所有的成员变量必须在初始化列表中进行初始化。};

2022-08-09 19:22:10 395

原创 【面试整理】-- 多线程

但是考虑一种情形,当前持有互斥锁的线程只是要读访问共享资源,而同时有其它几个线程也想读取这个共享资源,但是由于互斥锁的排它性,所有其它线程都无法获取锁,也就无法读访问共享资源了,但是实际上多个线程同时读访问共享资源并不会导致问题。即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成作,其他线程才能对该内存地址进行操作,而其他线程则处于等待状态。是指访问某一共享资源的代码片段,并且这段代码的执行应为原子操作,也就是同时访问同一共享资源的其他线程不应中断该片段的执行。....

2022-08-07 10:06:18 110

原创 【C++】刷题常用的一些库函数

头文件:algorithm。

2022-08-07 09:39:17 169

原创 【C++】输入方式

C++ 输入方式。包括cin,getline

2022-07-21 15:48:30 355

原创 【C++】C++11新特性

C++11新增了类型`long long`和`unsigned long long`,以支持64位(或更宽)的整型,新增了类型`char16_t`和`char32_t`,以支持16位和32位的字符表示;还新增了"原始"字符串。

2022-07-20 10:26:01 266

原创 【JavaScript】--调用百度地图API,加载和移除三维模型

向geoGroup2中添加多个模型,最后将geoGroup2添加到threeLayer图层中。此时只是移除这个group变量,但group中的模型还没有移除,需要循环删除其中的模型。当对Group进行旋转,缩放,移动等操作时,里面的子对象都会受到影响。初始化MapVGL容器对象,用来管理各可视化图层对象。需要额外引入mapvgl.threelayers包。在MapVGL容器中添加ThreeLayer图层。...

2022-07-16 10:17:03 1468

原创 【JavaScript】简单学习(一)

HTML/CSS标记语言–描述类语言JS脚本语言–编程类语言浏览器分成两部分∶渲染引擎和JS引擎浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行S代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。JS有3种书写位置,分别为行内、内嵌和外部。可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性)可读性差,在html中编写JS大量代码时,不方便阅读;引号易错,引

2022-07-13 09:47:58 55

原创 【QT】多线程

Qt为多线程操作提供了完整的支持。QThread是线程类,是实现多线程操作的核心类,一般从QThread继承定义自己的线程类。线程之间的同步是其交互的主要问题,Qt 提供了QMutex、QMutexLocker、QReadWriteLock、QwaitCondition、QSemaphore等多种类用于实现线程之间的同同步。用QThread 实现多线程编程的方法,以及用QMutex、QWaitCondition,QSemaphore等实现线程同步的方法。QThread类提供不依赖于平台的管理线程的方法。一

2022-07-07 09:57:32 133

原创 【MySQL】查询数据

使用 SELECT 语句查询数据表中的一列或多列数据、使用集合函数显示查询结果、连接查询、子查询以及使用正则表达式进行查询等SELECT语句的基本格式是∶{ * | }包含星号通配符选择字段列表,表示查询的字段,其中字段列至少包含一个字段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不要加逗号。FROM ,…,表1和表2表示查询数据的来源,可以是单个或者多个。WHERE 子句是可选项,如果选择该项,将限定查询行必须满足的查询条件。GROUP BY...

2022-07-01 22:09:50 5218

原创 【MySQL】插入,更新,删除数据

可以插入的方式有:使用基本的 INSERT语句插入数据,基本语法格式为:table_name指定要插入数据的表名column_list 指定要插入数据的那些列value_list 指定每个列应对应插入的数据使用该语句时字段列和数据值的数量必须相同。向表中所有字段插入值的方法有两种:一种是指定所有字段名,另一种是完全不指定字段名。不指定字段名,只要保证值的顺序与列字段的顺序相同就可以等价于为表的指定字段插入数据为表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其他字

2022-06-20 16:49:57 726

原创 【MySQL】数据库的基本操作

使用 CREATE TABLE创建表时,必须指定以下信息:主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。(1)在定义列的同时指定主键,语法规则如下:【例】定义数据表tb_emp2,其主键为id,SQL 语

2022-06-18 10:55:49 280

原创 【MySQL】数据库概述

数据库系统是采用数据库技术的计算机系统,包括SQL包含以下4个部分。MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如Oracle、DB2、sQL Server等)相比,MySQL 规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用。...

2022-06-17 22:13:58 325

原创 【QT】连接MySQL并简单使用

qt连接MySQL

2022-06-16 10:01:00 416

原创 【QT】连接mysql 报错“QMYSQL driver not loaded”

编译环境:Qt 5.15.2 MSVC2019 64bit可能引起报错的问题C:\Program Files\MySQL\MySQL Server 8.0\lib将libmysql.dll和libmysql.lib两个文件复制到E:\Qt\5.15.2\msvc2019_64\bin检测sql驱动E:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql编译mysql源码位置E:\Qt\5.15.2\Src\qtbase\src\plugins\sqldri

2022-06-15 09:35:34 240

原创 【QT】信号槽机制

声明一个信号要使用signals关键字,在signals前面不能使用public、private和protected等限定符,因为只有定义该信号的类及其子类才可以发射该信号。而且信号只用声明,不需要也不能对它进行定义实现。声明一个槽需要使用slots关键字。一个槽可以是private、public或者protected类型的,槽也可以被声明为虚函数,这与普通的成员函数是一样的,也可以像调用一个普通函数一样来调用槽。槽的最大特点就是可以和信号关联。connect函数bool QObject::conne

2022-05-23 20:25:49 507

原创 【QT】——OpenGL学习(一)

OpenGL简介OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台

2022-05-22 20:50:44 7640 1

转载 【操作系统】简介

操作系统简介计算机系统有许多资源(硬件和软件),可能需要这些资源来完成一项任务。通常需要的资源是输入/输出设备、内存、文件存储空间、CPU 等。操作系统充当上述资源的管理器,并在需要执行特定任务时将它们分配给特定的程序和用户。因此操作系统是资源管理器,即它可以在内部管理计算机系统的资源。资源是处理器、内存、文件和 I/O 设备。简单来说,操作系统是计算机用户和机器之间的接口。对您来说非常重要的是,每台计算机都必须有一个操作系统才能运行其他程序。操作系统主要为各种用户协调各种系统程序和应用程序之间的硬件使

2022-05-19 21:07:35 337

原创 【QT】——通过painter旋转坐标画图

void Widget::paintEvent(QPaintEvent *){QPainter painter(this);QPixmap disc(“:/disc.png”);/* 碟机转动 */if(imageRotate++ == 360) imageRotate = 0;/* 设定旋转中心点 */painter.translate(130,150);/* 旋转的角度 */painter.rotate(imageRotate);/* 恢复中心点 */painter.tra

2022-05-19 16:37:05 868

原创 局域网Git服务器和客户端的搭建和简单使用

一、软件下载安装在Windows下,需要安装两个工具:Git for Windows 以及 TortoiseGit。Git for Windows是Git的官方Windows版本,提供了Git的所有功能,但是由于Git完全是为了Lnix系统开发的开源软件,注重功能而忽略了易用性,对于初学者不是特别友好。TortoiseGit则为Git for Windows加上了一个易用的右键菜单,并且将文件状态等信息很好地与Windows资源管理器的整合。安装步骤参考二、使用1、服务器操作首先新建一个文件夹

2022-04-08 16:18:41 4745 1

TMS320C64x+ DSP Little-Endian DSP Library Programmer’s Reference

TMS320C64x+ DSP Little-Endian DSP Library Programmer’s Reference

2021-09-18

基于TMS320C64x+DSP的FFT实现(OCR).pdf

基于TMS320C64x+DSP的FFT实现(OCR)

2021-09-18

空空如也

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

TA关注的人

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