自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

enchanted的博客

C/C++ 基础 刚接触linux

  • 博客(36)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++虚函数表实现详细解析 (附示例)

相信很多人在了解到多态之后,都想要知道其具体的实现原理。其实大家应该都或多或少地知道:`虚函数是通过虚函数表实现的`。但是呢,可能和我之前一样,知道大概是怎样的,但是没有通过代码真正地运行测试。最近我也在网上查看了一番,发现有的文章写得很好,但是代码上面可能欠考虑一点,有的则是没有详细解释。因此本文将使用详细示例来探讨虚函数的实现原理,教你如何通过对象查找虚函数地址并调用。末尾还会分享一些没有用但好玩的技巧。

2021-05-15 00:46:30 2393 4

原创 贝塞尔曲线动画C++简单实践

由于用计算机画图大部分时间是操作鼠标来掌握线条的路径,与手绘的感觉和效果有很大的差别。即使是一位精明的画师能轻松绘出各种图形,拿到鼠标想随心所欲的画图也不是一件容易的事。这一点是计算机万万不能代替手工的工作,所以人们只能颇感无奈。使用贝塞尔工具画图很大程度上弥补了这一缺憾。贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。除此之外,贝塞尔曲线还经常用来做动画,让动画过渡更平滑。本文则记录如何使用贝塞尔曲线定制平滑的动画效果,并使用C++编写了cmd动画和窗口动画示例代码。

2021-01-27 13:41:11 6011 1

原创 C++ ---- Win/Linux下连接Mysql

最近项目需要使用到Mysql,以前用的是Qt封装好的数据库操作类,十分简单,这次用在服务器上打算学习下用MysqlConnector来进行数据库的连接和操作。MysqlConnector有JDBC版和XDEVAPI版,Mysql5.7.12后就有`X Plugin`,使用它可以十分方便的完成数据库操作,但因为5.7还有一些小问题,因此直接安装Mysql8并使用MysqlConnector8比较好。

2020-03-14 21:23:51 578

原创 C++11异步编程 ---- std::async与std::future的使用和注意事项

std::async是C++11才有的一个异步调用模板,它将异步地运行传入的函数并返回一个std::future。合理地使用,可以更轻松地完成异步操作。std::async是与std::future搭配使用的,但我们一般不直接使用std::future,而是使用对其封装的std::async,基本上可以代替std::thread完成所有任务。

2020-02-27 11:37:54 3505

原创 Hexo添加Live2D看板娘最新教程

上次我们搭建了hexo博客,今天来添加一个Live2D看板娘。在网上看了一些教程,不过hexo更新之后更简单,以前的一些教程有些过时了,所以想写一篇更新的教程。Live2D是一种应用于电子游戏的绘图渲染技术,由日本Cybernoids公司开发,通过一系列的连续图像和人物建模来生成一种类似二维图像的三维模型,换句话说就是2D的素材实现一定程度的3D效果,但只能是一定程度3D,因为Live 2D人物无法大幅度转身。

2020-01-29 11:37:58 7689 7

原创 QT5.9.6移植到ARM平台

最近做嵌入式的课程设计,需要将QT5移植到ARM平台上,我使用的教学平台所用的CPU为Samsung Exynos 4412,ARM Coretex-A9 四核,主频为1.4GHz,Exynos 4412 Block Diagram。本文以此平台为例,记录将QT5.9.6移植到该平台的过程。

2019-07-29 14:24:58 3289 6

原创 使用Hexo搭建博客遇到的问题及解决

一直想搭建一个个人博客,用过wordpress感觉还是不够轻量,因此一直搁置,偶然了解到Hexo这个轻量的博客框架。搭建完成后选择合适自己的主题,再学习下如何使用Hexo创建文章。现在万事具备,还差个评论系统,都使用Hexo框架了,不就是为了高效么,总不可能自己去写一个后端,因此可以添加gitment评论系统

2019-07-29 14:15:58 1300

原创 解决Mips下编译C++程序链接报错:‘ relocation truncated to fit: R_MIPS_CALL16 against ‘

目录前言解决问题结束语前言最近在MIPS架构下编译程序遇到了奇怪的问题,同样的环境,以前版本的代码可以编译链接成功,但新版本代码却无法链接成功,报错则是以下:../lib/libproto37.a(edrMessage.pb.cc.o):在函数‘InitDefaultsscc_info_EdrMessage_AgentBaselineStatus_edrMessage_2eproto()’中:edrMessage.pb.cc:(.text+0x350): relocation truncated t

2022-03-03 14:57:34 2549

原创 Clion远程开发中智能分析失效的原因之一及解决方案

目录前言解决方法结束语前言这段时间一直在使用clion的远程开发功能,确实非常方便,但是最近clion中智能分析老是存在以下红线报错,但是又可以点击进去到头文件,查看了网上的解决方法后没能解决。今天突然想起我之前中途升级了gcc的版本,这可能就是导致其不一致的原因。解决方法将File->Setting->Tools->SSH Configurations里正在使用的那个,删除,重新添加一下。再将File->Setting->Build, Execution, Dep

2021-07-20 15:39:52 917

原创 C++ --- Windows屏幕和窗口截图

最近学习了Windows下的屏幕截图,延伸到窗口截图,其中也遇到了不少的坑,好在最后还是实现了我的目标。顺便封装了一下Win32的api,方便后续使用。

2021-04-09 17:59:20 8119 3

原创 Win下编译安装使用PAHO-MQTT库(C和C++版本)

`Paho-Mqtt`使用多种编程语言实现了MQTT的客户端,本文介绍如何编译生成他的C库和C++库。

2021-03-29 10:01:49 6844 4

原创 VS2017安装和使用Protobuf

WIndow下配置Protobuf

2021-03-16 17:53:30 1817

原创 GDI+绘制希尔伯特曲线

看分形图形时偶然看到了希尔伯特曲线,因此决定写个程序画着玩。希尔伯特曲线是一种能填充满一个平面正方形的分形曲线(空间填充曲线)。

2021-03-15 17:54:55 574

原创 Cocos2d-x4.0 Android开发环境搭建遇到的问题

前几天搭建好了cocos2d4.0的android开发环境,并且编译运行了示例程序,但是当我想自己写代码时却懵逼了,编辑器里的cpp代码全是红色的错误,android studio无法分析代码并给出提示,虽然能编译运行,但是没有智能提示太难受了,网上搜索全说是android studio的缓存问题,实际上不是。

2020-11-25 22:15:44 430

原创 VS调试卡顿问题汇总,已解决!

相信很多朋友都碰到过使用VS进行调试时,进入断点点击继续或者单步时会卡顿一段时间,体验十分不好,经过测试我找到了解决方法。

2020-06-15 16:12:01 14589 4

原创 命令行网络设置(IP(或多个IP)、掩码、网关、DNS)

有些情况下需要用到命令行进行网络设置,因此记录一下命令行对应的操作。下文中的`本地连接`指的是网卡名,可在更改适配器选项中查看。

2020-06-11 16:33:40 2394

原创 C++获取和设置网卡信息(ip、掩码、网关、Dns)

最近需要将网络设置功能集成到软件中,因此找了一些win api进行封装,由此实现对Windows的ip地址、子网掩码、默认网关、Dns等信息的获取和设置。

2020-06-11 16:11:36 9914 3

原创 编写VC++日志类(Logger) ---- 方便调试

在写较大型的程序时,往往不好调试,因为打印的日志信息太多,太繁杂,没办法一眼看到比较重要的信息,因此先写一个比较简单的日志类方便进行调试,以后再进行更新。

2020-01-27 22:03:59 1390

原创 RapidJson将json转为xml表示

最近使用rapidjson库比较多,rapidjson是一个开源的、高性能的json库,在rapidjson官方教程中,提到 :【rapidjson::Reader以从输入流解析一个Json。当它从流中读取字符时,它会基于Json的语法去分析字符,并向处理器发送事件。】且该库提供了处理器的接口,我们只要对接口进行实现即可实现将json解析到自己想要的格式

2020-01-22 11:19:23 425

原创 C++ 学习笔记

学习和工作中经常会遇到一些小问题或者一些技巧性的东西,在此处作一份记录,保持更新。

2020-01-22 10:02:12 170

原创 word文档转为markdown并发布到csdn

学习时有很多word格式的笔记文档,想放到博客上方便随时查阅。

2019-10-25 18:47:39 715

原创 Mysql数据库笔记 --- 六

回顾事务安全事务操作事务原理回滚点自动事务处理事务特性变量系统变量查看系统变量修改系统变量自定义变量定义变量触发器创建触发器查看触发器使用触发器修改触发器&删除触发器触发器记录代码执行结构分支结构循环结构函数系统函数自定义函数创建函数查看函数修改函数&删除函数函数参数作用域存储过程创建过程查看过程调用过程修改过程&删除过程过程参数

2019-10-25 18:27:19 160

原创 Mysql数据库笔记 --- 五

回顾外键增加外键修改外键&删除外键外键作用外键条件外键约束联合查询基本语法意义Order by使用子查询子查询分类标量子查询列子查询行子查询表子查询Exists子查询视图创建视图查看视图使用视图修改视图删除视图视图意义视图数据操作新增数据删除数据更新数据视图算法数据备份与还原数据表备份单表数据备份SQL备份增量备份

2019-10-25 18:22:08 128

原创 Mysql数据库笔记 --- 四

回顾连接查询连接查询分类交叉连接内连接外连接自然连接PHP操作mysqlPHP操作mysql增删改查写操作读操作综合应用登录功能分页显示数据功能分页功能

2019-10-25 18:17:34 129

原创 Mysql数据库笔记 --- 三

回顾字段属性主键增加主键主键约束更新主键& 删除主键主键分类自动增长新增自增长自增长使用修改自增长删除自增长唯一键增加唯一键唯一键约束更新唯一键& 删除唯一键索引关系一对一一对多多对多范式1NF2NF3NF逆规范化数据高级操作新增数据主键冲突蠕虫复制更新数据删除数据查询数据Select选项字段别名数据源Where子句Group by子句Having子句Order by子句Limit子句

2019-10-25 16:57:44 205

原创 Mysql数据库笔记 --- 二

回顾作业: 站点统计数据类型(列类型)数值型整数型小数型时间日期类型字符串类型定长字符串变长字符串文本字符串枚举字符串集合字符串Mysql记录长度列属性空属性列描述默认值

2019-10-25 16:47:41 100

原创 Mysql数据库笔记 --- 一

数据库课程体系数据库基础关系型数据库关键字说明SQLMysql数据库Mysql服务器对象SQL基本操作库操作新增数据库查看数据库更新数据库删除数据库表操作新增数据表查看数据表修改数据表删除数据表数据操作新增数据查看数据更新数据删除数据中文数据问题校对集问题Web乱码问题

2019-10-25 16:19:35 224

原创 读书笔记 ---- C++中的接口与实现分离

最近在读《Effective C++》,对里面的思想和代码深有感触,因此在此做点记录并加以自己的理解,方便以后查看。本文内容来自`条款31:将文件间的编译依存关系降至最低`。通常我们会在一个类的定义中同时写出声明式和定义式,而使用这样的写法,很可能会导致文件包含的问题,比如Date类,Address类的头文件包含,同时当改变了Person类所依赖的某个类时,会导致Person类重新编译。这样写也没有做到class的接口与实现分离。因此有两种方法可以实现所谓的接口与实现分离,让逻辑更清晰。

2019-10-18 14:39:30 295

原创 使用控制台绘制图形并求阴影面积

使用C/C++编写程序draw18,接收参数实现以下功能:当执行draw18.exe -d m时,画出图1中的三角形、圆弧及阴影面积形状。

2019-08-18 10:24:18 334

原创 C++11智能指针学习(unique_ptr、shared_ptr和weak_ptr)

从C++11起,标准库提供了便于使用的、不同且高效的智能指针的实现。这些智能指针几乎是没有bug的,因为在引入标准之前,它们在Boost库中已经开发了很长一段时间。智能指针减少了内存泄漏的可能性,同时,它们被设计为线程安全的。因此有必要学习一下它们的使用,以在资源管理中更好地管理资源,减少内存泄漏的可能。

2019-08-12 11:00:21 325

原创 读书笔记 ---- 在operator=中处理"自我赋值"

最近在读《Effective C++》,对里面的思想和代码深有感触,因此在此做点记录并加以自己的理解,方便以后查看。本文内容来自条款11:在operator=中处理"自我赋值"(Handle assignment to self in operator=.)。

2019-07-29 20:23:15 310

原创 读书笔记 ---- 让对象独一无二(禁止拷贝)

最近在读《Effective C++》,对里面的思想和代码深有感触,因此在此做点记录并加以自己的理解,方便以后查看。本文内容来自条款06:若不想使用编译器自动生成的函数,就该明确拒绝。(Explicitly disallow the use of compiler-generated functions you do not want)。

2019-07-29 18:03:21 150

原创 全排列的递归和非递归实现

1.全排列的递归实现2.去重的全排列的递归实现3.全排列的非递归实现

2019-07-29 14:03:38 339 1

原创 二叉树的四种遍历方式

1.二叉树的层次遍历2.二叉树的前序遍历3.二叉树的中序遍历4.二叉树的后序遍历

2019-07-29 14:01:32 257

转载 Markdown语法记录

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-07-29 13:55:16 172

原创 读书笔记 ---- Const成员函数

最近在读《Effective C++》,对里面的思想和代码深有感触,因此在此做点记录并加以自己的理解,方便以后查看。本文内容来自条款03:尽可能使用Const (Use const whenever possible)。

2019-07-29 11:04:01 161

C++屏幕和窗口截图代码

C++屏幕和窗口截图代码,文件内容:CaptureScreen.cpp

2021-04-09

GDI+绘制希尔伯特曲线代码

GDI+绘制希尔伯特曲线代码

2021-03-15

TestBezierAnimator.zip

根据三阶贝塞尔曲线,通过给定的参数来定制动画的示例

2021-01-27

空空如也

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

TA关注的人

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