自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心情第一

成功不是将来才有的,而是从你决定去做那刻起持续积累的!!

  • 博客(180)
  • 资源 (1)
  • 收藏
  • 关注

原创 第七章 并发优化

数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

2022-11-26 00:15:00 13

原创 第六章 数据库语言SQL

数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括CREATE、ALTER和DROP等语句。

2022-11-26 00:00:00 38

原创 生产者-消费者模型 c++11

本文将综合运用 C++11 中的新的基础设施(主要是多线程、锁、条件变量)来阐述一个经典问题——生产者消费者模型,并给出完整的解决方案。

2022-11-25 10:00:20 21

原创 设计模式​ ​C++

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都要得到通知并自动更新。

2022-11-25 09:59:24 9

原创 第五章 关系数据库设计理论

设计一个好的关系数据库系统,关键是要设计一个好的数据库模式(数据库逻辑设计问题)

2022-11-25 00:00:00 10

原创 第八章 查询优化

对于给定的查询选择代价最小的操作序列,使查询过程既省时间,具有较高的效率,这就是所谓的查询优化。

2022-11-24 16:45:00 9

原创 第四章 关系代数

关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。

2022-11-24 11:12:01 16

原创 第三章 关系模型

关系数据模型是在关系结构的数据库中用二维表格的形式表示实体以及实体之间的联系的模型。

2022-11-24 11:09:58 6

原创 第二章 数据库设计

数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库极其应用系统,有效存储数据,满足用户信息要求和处理要求。

2022-11-24 11:07:03 228

原创 第一章 数据库绪论

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

2022-11-24 11:01:58 279

原创 第二章 计算机算术

要了解科学计算,首先要知道数据是如何在计算机中存储和表达的.在计算机基础中我们知道,所有的数据在计算机内存中都是以二进制数的形式存储的,但对于不同的数据类型,二进制数所代表的意义也不尽相同.

2022-11-24 10:48:26 320

原创 第一章 计算机系统体系结构

计算机组成原理重点讲授计算机系统的硬件组成,及其主要功能子系统的基本原理和逻辑设计;主要内容包括计算机系统概述,数据的表示、运算与校验,CPU子系统,存储子系统,总线与I/O子系统,I/O设备及接口等。

2022-11-24 10:29:19 213

原创 第5章 输入/输出(I/O)管理

I/O(Input/Output)设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部分

2022-11-22 09:55:59 108

原创 第4章 文件管理

文件管理是操作系统的五大职能之一,主要涉及文件的逻辑组织和物理组织,目录的结构和管理。所谓文件管理,就是操作系统中实现文件统一管理的一组软件、被管理的文件以及为实施文件管理所需要的一些数据结构的总称(是操作系统中负责存取和管理文件信息的机构)从系统角度来看,文件系统是对文件存储器的存储空间进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现"按名取存",文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。

2022-11-22 09:46:25 322

原创 第3章 内存管理

内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。一个执行中的程式,譬如网页浏览器在个人电脑或是图灵机(Turing machine)里面,为一个行程将资料转换于真实世界及电脑内存之间,然后将资料存于电脑内存内部(在计算机科学,一个程式是一群指令的集合,一个行程是电脑在执行中的程式)。一个程式结构由以下两部分而成:“本文区段”,也就是指令存放,提供CPU使用及执行; “资料区段”,储存程式内部本身设定的资料,例如常数字串。

2022-11-22 09:30:48 94

原创 第2章 进程管理

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

2022-11-22 08:57:55 198

原创 第1章 计算机系统概述

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。

2022-11-21 18:09:14 367

原创 OSG例子程序简介

OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系统。OSG在各个行业均有着丰富的扩展,能够与使用OpenGL书写的引擎无缝的结合,使用国际上最先进的图形渲染技术,让每个用户都能站在巨人的肩上。

2022-11-21 17:55:10 50

原创 计算机网络-读书笔记

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2022-03-04 09:38:52 58

原创 Google C++命名规范

一、前言 C++ 是 Google 大部分开源项目的主要编程语言. 正如每个 C++ 程序员都知道的, C++ 有很多强大的特性, 但这种强大不可避免的导致它走向复杂,使代码更容易产生 bug, 难以阅读和维护. 本指南的目的是通过详细阐述 C++ 注意事项来驾驭其复杂性. 这些规则在保证代码易于管理的同时, 也能高效使用 C++ 的语言特性. 风格, 亦被称作可读性, 也就是指导 C++ 编程的约定. 使用术语 “风格” 有些用词不当, 因为这些习惯远不止...

2021-12-07 14:11:14 1066

原创 Git使用教程

Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。Git易于学习,占用空间小,性能快如闪电。它超越了 SCM 工具,如 Subversion、CVS、Perforce 和 ClearCase,具有便宜的本地分支、方便的暂存区和多个工作流等功能。Git使用教程1 ---世界上最牛逼、最先进的分布式版本控制系统什么是 Git ?!!Git 是目前世界上最牛逼、最先进的分布式版本控制系统(没有之一)。Git 的诞生偶然间你发现有 RCS、CVS、SV...

2021-12-07 13:47:33 54

转载 Git 使用教程

Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的所有项目。Git易于学习,占用空间小,性能快如闪电。它超越了 SCM 工具,如 Subversion、CVS、Perforce 和 ClearCase,具有便宜的本地分支、方便的暂存区和多个工作流等功能。Git使用教程1 ---世界上最牛逼、最先进的分布式版本控制系统什么是 Git ?!!Git 是目前世界上最牛逼、最先进的分布式版本控制系统(没有之一)。Git 的诞生偶然间你发现有 RCS、CVS、SV...

2021-11-29 16:29:54 52

转载 Linux Qt cannot find -lGL 解决方案

Linux Qt cannot find -lGL 错误完美解决方案

2021-11-23 11:58:36 797

转载 SQL - 多表关联

一、首先,我们可以查看数据库的各种变量:1.SHOW VARIABLES 查看数据库的变量2.查看当前数据库的编码SHOW VARIABLES WHERE variable_name LIKE 'character%';3.解决中文乱码,如下三个编码保持一致就可以。character_set_client、character_set_connection、character_set_results二、子查询4.case-when then endSELECT sno,sname

2021-07-28 15:34:49 1441

转载 Log4cpp 安装和使用

ubuntu下安装与使用Log4cpp1、下载版本:log4cpp-1.1rc3.tar.gz, 该版本中没有1.0版本的那些bug,不需修改,下载地址:http://sourceforge.net/projects/log4cpp/2、解压下载的压缩文件:log4cpp-1.1rc3.tar.gz,可以使用命令行,或者右键压缩包,在弹出菜单项中选择“解压至此处”3、解压后的文件夹名为log4cpp,在终端(快捷键ctrl+alt+t)中,cd到该文件夹下,注意需要root权限。4、运行..

2021-07-28 15:31:49 606

转载 gSOAP生成ONVIF框架代码

gSOAP生成ONVIF框架代码一次性把所有可能会用到的WSDL文档都纳入编译,以便得到一份尽可能齐全的ONVIF接口代码。我这样做是为了省事,但我希望你在心底里能明白一件事情:ONVIF有好多个模块,每个模块分别对应着不同的WSDL文档,如果你只是想实现其中某个模块的功能,其实只要拿那个模块对应的WSDL文档来编译即可(可以忽略其他WSDL)。比如你只是想实现「设备发现」功能,只要拿remotediscovery.wsdl来编译即可。为了让代码同时兼容Windows和Linux两个平台(未考虑其他

2021-07-28 15:31:02 392

原创 C++11 新特性(二)

14. C++11 for循环使用注意事项《C++11 for循环》一节已经详细介绍了 C++11 标准中 for 循环的基本用法。在此基础上,本节将介绍一些 for 循环的使用注意事项,帮助读者更准确高效地使用基于范围的 for 循环。1) 首先需要明确的一点是,当使用 for 循环遍历某个序列时,无论该序列是普通数组、容器还是用{ }大括号包裹的初始化列表,遍历序列的变量都表示的是当前序列中的各个元素。举个例子:#include <iostream>#includ...

2021-03-29 08:58:38 195

原创 C++ Object Persistence with ODB 学习笔记

1. 介绍ODB是c++的一个对象-关系映射(ORM)系统。它提供了工具、api和库支持,允许您将c++对象持久化到关系数据库(RDBMS),而无需处理表、列或SQL,也无需手工编写任何映射代码。 ODB是非常灵活和可定制的。它可以完全隐藏底层数据库的关系性质,也可以根据需要公开一些细节。例如,您可以自动将基本c++类型映射到合适的SQL类型,为持久类生成关系数据库模式,并使用简单、安全但功能强大的对象查询语言来代替SQL。或者,您可以为单个数据成员分配SQL类型,使用现有的数据库模式,运行本机..

2021-03-25 20:05:10 565

原创 C++11 新特性(一)

经过作者的不断迭代,一本书往往会先后发布很多个版本,其中每个新版本都是对前一个版本的修正和更新。C++ 编程语言的发展也是如此。截止到目前(2020 年),C++ 的发展历经了以下 3 个个标准:2011 年,新的 C++ 11 标准诞生,用于取代 C++ 98 标准。此标准还有一个别名,为“C++ 0x”; 2014 年,C++ 14 标准发布,该标准库对 C++ 11 标准库做了更优的修改和更新; 2017 年底,C++ 17 标准正式颁布。C++11 是第二个真正意义上的 C++ 标准,也是

2021-03-24 09:22:21 279

原创 c++11 多线程

1 . 无参线程// 线程管理 #include <iostream>#include <thread>void hello(){ std::cout<<"Hello Concurrent World!"<<endl;}// 众所周知,主线程的入口函数为main函数。同样的,子线程也需要有一个入口函数hello,// 并在调用子线程的构造函数的时候传给子线程std::thread t(hello); int main(){ std

2021-03-17 10:27:45 26

转载 ONVIF协议网络摄像机(IPC)客户端程序开发(7):设备搜索

1.专栏导读

2021-02-01 16:23:23 124

原创 OpenGL 诸多库之间关系 及 环境配置

最近一直在学习OpenGL,但是看OpenGL编程指南不同版本之间使用一堆不同的库,概念名称全都混搅起来了,越看越糊涂,于是整理了一下OpenGL相关的一些库的名词,才发现是不同时期不同版本不断发展的结果。文章转自:https://www.cnblogs.com/chencarl/p/10722839.html现在比较流行的搭配主要是freeglut+glew和glfw+glew,如果想做简单的测试或者自己实在牛逼直接使用gl glu。另外在这里科普一下glad、glew、glfw、Free

2020-12-30 11:08:41 329

原创 OpenGL 绘制三角形

// 3D坐标转为2D坐标的处理过程是由OpenGL的图形管线(一堆原始图形数据途径一个输送管道,期间经过各种变化处理最终出现在屏幕的过程)管理的#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>using namespace std;// settingconst unsigned int SCR_WIDTH = 420;const unsigned int SCR_...

2020-12-26 17:23:05 196 1

原创 SendMessage和PostMessage的区别

对于SendMessage 和 PostMessage 平时口头的解释是SendMessage 发送消息后等待返回,PostMessage 发送消息后立即返回 。但是这样解释还是不具体,什么叫等待 什么叫立即?下面的代码可以解释,SendMessage 必须要等到消息响应函数结束,才继续执行。#define USER_MSG WM_USER+1/*使用SendMessage的例子 程序执行的步骤 */void fun(){// 第一步 SendMe...

2020-11-17 11:06:35 514

原创 第02章 Qt 5模板库、工具类及控件

2.1 字符串类2.1.1 操作字符串(2)QString::append()函数具有与“+=”操作符同样的功能,实现在一个字符串的末尾追加另一个字符串,例如:QString str1 = "Welcome ";QString str2 = "to ";str1.append(str2); //str1=" Welcome to"str1.append("you! "); //str1="Welcome to you! "(3)组合字符串的另一个...

2020-11-03 11:54:12 248

原创 第01章 认识 Qt

1.1 Qt简介Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形用户界面所需的所有功能。 Qt是诺基亚公司的一个产品。1996年,Qt进入商业领域,已成为全世界范围内数千种成功的应用程序的基础。它也是目前流行的Linux桌面环境KDE 的基础,KDE是Linux发行版的主要一个标准组件。Qt支持的平台有: MS/Windows—95、98、NT 4.0、ME、2000、XP和Vista; UNIX/X11—Linux、Sun Solaris、HP-UX、Comp

2020-11-03 08:29:18 282

原创 Modbus软件开发实战 -- 第七章 完整RTU模式开发范例

modbus 开发环境2.1 虚拟串口软件(VSPD) http://www.eltima.com 下载VSPD.exe 安装程序2.2 modbus Poll(主站设备仿真工具) http://www.modbustools.com2.3 modbus Slave(从站设备仿真工具) http://www.modbustools.com7.1 开发RTU Master篇#incl...

2020-11-02 10:57:33 920

原创 死锁的理解及例子

任何时候当一段代码需要两个(或更多)资源时,都有潜在性的死锁阴影。死锁的情况可能非常复杂,许多线程的独立性彼此纠缠在一起。虽然有一些算法可以侦测并仲裁死锁状态, 基本上它们仍嫌过于复杂。对大部分程序而言,最好的政策就是找出一种方法以确保死锁不会发生。稍后你会看到,强迫将资源锁定,使它们成为 " all-or-nothing"(要不统统获得,要不统统没有),可以阻止死锁的发生。死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

2020-10-30 08:35:54 441

原创 第01章 golang语言

Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具Python等动态语言的开发速度和 C/C++等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计...

2020-10-28 09:21:41 1318

原创 第12章 Go语言编译和工具链

Go 语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具等应有尽有。在 Go 语言中可以使用测试框架编写单元测试,使用统一的命令行即可测试及输出测试报告的工作。基准测试提供可自定义的计时器和一套基准测试算法,能方便快速地分析一段代码可能存在的 CPU 耗用和内存分配问题。性能分析工具可以将程序的 CPU 耗用、内存分配、竞态问题以图形化方式展现出来。本章内容:12.1go build命令(go语言编译命令)完全攻略Go语言的编译速度非常快。Go..

2020-10-27 11:43:40 442

计算机组成原理 思维导图

计算机组成原理 思维导图

2022-11-24

C++ Primer Plus 6th 源码

非常值得珍藏价值

2021-03-17

C++ 经典源代码 小白必备

非常值得珍藏价值

2021-03-17

HCSadpSDKV4.2.3.6_build20190115_Linux64_ZH.zip

HCSadpSDKV4.2.3.6_build20190115_Linux64_ZH.zip

2021-03-17

空空如也

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

TA关注的人

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