logo头像
Snippet 博客主题

资源列表 置顶

资源列表1. 使用cmake/makefile在win32/linux平台编译c++工程demo模板 2. 使用vscode通过cmake/ninja/msvc管理、编译c++大型工程demo模...

踩坑汇总 置顶

前言年纪大了,发现曾经踩过的坑老是健忘,简单记录下,做个汇总专栏,持续更新~ 此栏开始于:2023-11-21 10:57:55 1. 调式时断点不命中常见两种情况: 当前断点代码是独立编译成动态库被主程序加载使用,这种情况断点...

1553B板卡详解

TODO:这段比较忙,先快速记录个大概,后面得空再详细整理下,尽量表述得通俗易懂~ 简介1553b板卡主要应用于航天航空工业领域,它的数据传输结构有点类似集中分布式服务器的设计,分为BC、RT、BM三类部件,BC有且仅有1个,类似...

《Effective Modern C++》全书内容提炼总结

《Effective Modern C++》全书内容提炼总结

前言C++程序员都应该是对性能执着的人,想要彻底理解C++11和C++14,不可止步于熟悉它们引入的语言特性(例如,auto型别推导、移动语义、lambda表达式,以及并发支持)。挑战在于高效地运用这些特性,从而使你的软件具备正确性...

c++20新特性

前言自C++11这个大版本更新以来,后来陆续有两次小版本迭代C++14、C++17,它们主要是对C++11的补充扩展,并没有增加太多大的特性。 而这次的C++20,和当年C++11一样,又是一次重大更新,有人甚至说这是一门新语言。 1...

c++17新特性

1. 构造函数模板推导在C++17之前构造一个模板类对象需要指明类型: 1pair<int, double> p(1, 2,2); 从C++17开始,构造模板类对象可以根据值自行推导了,如下: 123// 在vs2022...

c++14新特性

1. 函数返回值类型推导C++14新增函数返回值也可以使用auto自动推导了。 12345678910// 普通函数auto func(int i) { return i;}// 模板函数template&l...

c++11新特性

前言现代C++借鉴了很多脚本语言特性,编写越来越简洁高效了。下面就C++11新增特性做一个总结。 1. auto类型推导auto只是一个占位符,在编译时会被替换为真正的类型。因此auto要求变量必须初始化。它很方便但是也有一些限制需要...

go开源项目slgserver源码分析

前言项目开源地址:https://github.com/llr104/slgserver 比较适合作为go语言入门学习项目或轻量级游戏项目,整体的项目结构和编码质量还是可以的。不过距离商业项目还是差点意思,如服务负载、容灾这块还没有。...

Qt5.9读书笔记

目前正在做一个基于Qt的桌面建模软件,我主要负责做偏服务端插件,很少做界面开发,所以一直没仔细了解过Qt。近段稍微有点空闲,系统学习了下Qt相关教程,过程还算轻松,因为它整体设计架构和开发流程很像我以前搞游戏开发用的cocos。下面是...

OpenCL入门

OpenCL框架OpenCL是一个异构平台编程框架,也是异构并行计算的行业标准,由Khronos Group来维护。旨在充分利用GPU强大的并行计算能力以及CPU的协同工作,更高效的利用硬件完成大规模(尤其是并行度高的)计算。 简单说...

CMake进阶

CMake是什么CMake是一种跨平台的自动化构建工具,可以生成跨平台的构建文件。比如Makefile、Visual Studio、XCode解决方案。使用CMake可以使得编译和构建过程更加简单。CMake使用CMakeLists....

threejs物理效果和声音

一、Threejs中如何创建物理场景threejs中创建物理场景我们用它的扩展库:Physijs。它可以使场景中的对象有重力效果,可以相互碰撞,施加力之后可以移动,还可以通过合页和滑块在移动过程中在对象上施加约束。这个库是基于另一个著...

threejs后期处理

1. 如何使用Threejs的后期处理后期处理就是在场景渲染完后,最后对场景显示效果调整的手段。 使用后期处理步骤: (1)创建THREE.EffectComposer对象。(效果组合器) (2)在该对象上添加后期处理通道。(渲染...

threejs纹理

前面我们介绍了各种可以用来覆盖对象的材质,也介绍了如何修改材质的颜色、关泽和不透明度,但是我们还没有详细介绍如何在材质中使用外部图片(也叫纹理). 将纹理应用于材质1. 加载纹理并应用到网格纹理最基础的用法是作为贴图被添加在材质上,当...

threejs动画

前面我们所用的模型大都是静态的,没有动画,没有生命。这节我们将赋予它们生命。 动画本质是通过改变物体的旋转、缩放、位置、材质、顶点、面以及其它你所能想到的属性来实现的。这些其实在前面章节示例里或多或少已经使用了。 一、选择对象在写示例...

threejs使用外部模型

前面我们都是用Threejs提供的几何体来创建网格,对于简单几何体(如球体和方块)来说非常有效,但当你想要创建复杂的三维模型时,这不是最好的方法。通常情况下,你可以使用三维建模工具(如Blender和3D Studio Max)来创建...

threejs精灵和粒子系统

前面我们了解到了场景中的网格对象由几何体和材质组成,并且分别系统学习了它们。这节我们将学习一个特殊的网格对象—–粒子(精灵)。 了解粒子一个粒子(新版叫精灵)是 一个二维平面(小方块) ,它总是面向摄像机。 1234567891011...

threejs高级几何体

1. THREE.ConvexGeometry它可以围绕一组点创建一个凸包,所谓凸包就是包围这组点得最小图形。 1234567891011121314151617181920212223242526272829303132333435...

threejs几何体

前面在场景那节只是简单介绍了threejs中可用的几何体,本节和下一节将深入讨论threejs提供的所有几何体(不包括上一节探讨过的THREE.Line)。 二维几何体THREE.PlaneGeometry它可以用来创建一个非常简单的...

threejs材质

前言前面简单的介绍了材质,你已经了解到材质结合几何体就可以创建网格,网格对象才可以添加到Threejs渲染的场景中。材质就像物体的皮肤,决定了几何体的外表。如,几何体看起来是否像金属、透明与否,或者显示为线框。 threejs提供的材...

threejs光源

前言没有光源,渲染场景将不可见。threejs中已经帮我们实现了大量的光源,我们可以直接使用,主要分为两类:基础光源和特殊光源,下面将依次详细介绍。 基础光源1. THREE.AmbientLight(环境光)该光源颜色会应...

threejs场景

前言 对象添加到场景里才能被渲染,场景是整个画面的容器。场景要显示任何东西,一般要有摄像机、光源、渲染对象。本章主要介绍场景类里常用的方法和属性,以及构建场景的基本组件。 几何体和网格:网格可以添加到场景中渲染,网格由几何体和材质组成...

threejs入门

前言随着HTML5的发布,我们可以通过WebGL在浏览器上直接使用显卡资源来创建高性能的二维和三维图形,但是直接使用WebGL编程来创建三维场景十分复杂而且还容易出问题。而使用Three.js库可以简化这个过程,它对WebGL做了进一...

boost库使用

windows下boost库使用下面介绍完整安装boost库的方法: 1. 去boost官网下载最新的boost库boost库官网 2. 解压boost压缩包,打开根目录双击运行bootstrap.bat,会生成b2.exe。然后执行...

《Effective C++》 全书内容提炼总结

《Effective C++》 全书内容提炼总结

本文阅读说明孔子云:“取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣”。 对于读书求知而言,这句古训教我们去读好书,最好是好书中的上品—-经典书。《Effective C++》就是这类经典书,值得反复去读,每次都能有不...

c++崩溃调试大全

windows上程序崩溃调试场景1 调用第三方dll崩溃调试需求 需要第三方提供对应的pdb和源码(源码不是必须,只是不能进入代码里边断点调试,但是可以看到堆栈信息,哪个接口哪一行崩溃),注意一定要dll和pdb是同一时间编译完全匹配...

c++11智能指针

出处:C++智能指针 内存管理是C++中的一个常见的错误和bug来源。在大部分情形中,这些bug来自动态分配内存和指针的使用:当多次释放动态分配的内存时,可能会导致内存损坏或者致命的运行时错误;当忘记释放动态分配的内存时,会导致内存泄...

上位机服务端离线部署步骤

上位机服务端离线部署步骤一、环境部署1. 安装nodejs和npm 建议8.11.x以上,当前14.16.0 下载官方安装包并拷贝到离线机器上。官方下载地址:https://nodejs.org/en/download/ 解压文...

windows11安装Linux子系统

Windows在10之后自带了虚拟机子系统功能,可以和本地磁盘共享,默认挂载到/mnt/目录下面。比起传统的VM方便多了。下面是搭建流程: 一 开启子系统服务控制面板 -> 程序 -> 程序与功能 ...

Docker基础使用

概要Docker由下面3个东西组成: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root...

C++动态库使用

前言Windows与Linux下面的动态链接库区别1. 文件后缀不同Linux动态库的后缀是 .so 文件,而window则是 .dll 文件。 2. 文件格式不同(a)Linux下是ELF格式,即Executable and Lin...

CMake入门

概叙你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefil...

提炼《跟我一起写 Makefile》教程

提炼《跟我一起写 Makefile》教程 支持原创,请移步原作者博客: http://blog.csdn.net/haoel/article/details/2886 一、makefile总序1. makefile文件格式1234...

Linux共享内存

基础在linux系统开发当中,时常需要在多个进程之间交换数据,在多个进程之间交换数据,有很多方法,但最高效的方法莫过于共享内存。 linux共享内存是通过tmpfs这个文件系统来实现的,tmpfs文件系的目录为/dev&#x...

虚拟地址到物理地址映射

前言程序在编译链接完成后所有指令虚拟地址就已经确定了,CPU在执行到某条指令,得到它的虚拟地址,然后通过其芯片里的MMU硬件将虚拟地址转换为物理地址,然后先去CPU芯片里的高速缓存中获取数据,如果没有再去内存中获取(这里程序会自动预测...

QuikPlatform Demo说明

QuikPaltformTest目录结构12345678910111213141516171819202122232425QuikPaltformTest |--> bin // 打包后可执行程序 |--> do...

飞行仿真项目服务端设计

Table of Contents generated with DocToc 一 服务端架构概览 技术选型 整体架构 二 通信协议格式 1. 与前端通信 Package层 Message层 2. 与引擎通信 三 ...

pomelo更新日志

Table of Contents generated with DocToc 1.0 日志 zookeeper集群管理 自动扩展插件 根据环境目录加载配置 客户端程序支持输入脚本命令 0.9 日志 rpc支持zero...

npm包管理机制

一 package.json 组成: Dependencies依赖包支持的配置格式: "core-js": "^1.1.5" 指定版本号,去npm服务器下载包 "test2-js&...

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using ...