插件推荐——vscode+markdown 快速插入图片
Markdown Image 插件一、前言有时候写Markdown插入图片时,通常都是直接复制粘贴过来,但是复制粘贴过来的图片,往往都会被默认放到与Markdown文件同目录下,如果想要规范性地放图片,那就很麻烦了。
所以这个插件就是解决了这个问题。
二、安装打开vscode,在左侧栏打开扩展,然后搜索:Markdown Image,作者 Hancel Lin。
下载好了以后,点开它的设置,就有很多的设置项,有中文版。
可以根据自己的需要去设置,这里仅展示我的目标用法。
三、目标
快捷键设置为 Ctrl+Shift+V 触发
实现按下快捷键后,图片自动被放在与当前 Markdown 文件同名的文件夹下,且该文件夹与Markdown文件在同一个目录下
命名方式为:<markdown文件名>-<时间戳>.png
图片自动标注:图 1 ,图 2,图 3…
存放图片的文件夹不存在则自动创建
四、实践1、键位更改先直接按 Ctrl+Shift+P 组合键,呼出命令面板,输入Key,然后打开 首选项:打开键盘快捷方式
进去后,搜索 Markd ...
CPP中volatile关键字介绍
简介 volatile 意为:不稳定的,易变的。该关键字用于提醒编译器它所修饰的变量的值会时刻改变。通常我们不会经常使用该关键字修饰变量,那么这个时候为了优化IO性能,程序可能会从该变量的寄存器中取值而不会从它的内存地址取值,因为访问寄存器的性能快过ram,但如果数据会频繁变化,寄存器中的值和该变量的内存地址中的值就并不一定完全相同,这样就会导致数据不一致,容易出现问题,且难以发现。
用法volatile <data-type> <var-name>;
volatile int a = 0;
示例 比如我想用整形变量定义一个flag,而该flag会一直变化,当达到某个条件会断开循环,如果不加volatile关键字,就容易导致数据不一致,循环可能不会像预期的那样运行
1234567#include <iostream>int flag = 0;int main(){ while(flag != 0){ func1(); } func2(); return 0;}
1234567# ...
C++和C语言之动态内存
C++重要概念1、栈内存函数内部声明的变量占用的内存
2、堆内存程序未使用的内存,可用于动态分配内存
动态内存程序在运行时动态分配内存,有时我们不知道我们需要分配多少内存,而是到了运行时才能知道,这时就需要动态分配内存,而其它的分配方式叫静态分配内存。面对需求灵活性高的程序,动态内存的地位极为重要。
若需要查看应用场景示例,请在本文右侧导航栏跳转至“应用场景”。
正题new 和 delete 运算符new 运算符用于为变量申请内存,其格式为
1<var-name> = new <data-type>;
例:
12char *c[];c = new char[20];
即为char指针变量c申请缓冲区大小为20个字节的内存空间,如果在实际开发中,数据大小超过了该缓冲区就会导致缓冲区溢出报错。
还有第二种用法:
1int *num = new num();
写了括号但不写其值,这种用法即是开辟一个内存空间并初始化为0
delete 运算符delete 运算符通常用于将已经使用完了的内存或不用的内存释放,根据需求合理释放内存是一个很好的习惯,不及时释放内存在小型项 ...
CPP中thread多线程库简单使用
C++ 11后引入的新 thread库使用引入:
123#include <thread>using namespace std; //或者直接使用std::thread//...
具体用法:
123std::thread thread_object(_Fn &&_Fx, _Args**..._Ax);//第一个参数是函数指针或函数对象也可以是lambda表达式//第二个参数的函数的参数,若没有可以不填
示例普通函数示例1234567891011121314151617181920212223242526#include <iostream>#include <thread>using namespace std;//...void func1(int a){ for(int i = 0; i < a ; i++){ cout<< a << endl; } }void func2(int b){ for(int i = 0 ...
Bullet物理引擎环境配置
一、添加附加依赖项123..\..\lib\BulletDynamics_vs2010_debug.lib..\..\lib\BulletCollision_vs2010_debug.lib..\..\lib\LinearMath_vs2010_debug.lib
位于:<项目属性页> —— <链接器> —— <输入> —— <附加依赖项>
填写你自己的lib文件夹路径位置而不是直接原封不动复制上面的东西
二、添加附加包含目录打开你下载的Bullet的目录,里面会有src文件夹,添加src文件夹的绝对路径即可,大概长这样:
1X:\..\Bullet\src
位于:<项目属性页> —— <C/C++> —— <常规> —— <附加包含目录>
添加你的src文件所在路径即可
三、调试设置位于:<项目属性页> —— <C/C++> —— <代码生成> —— <运行库>
将 运行库 改为 多线程调试(/MTd)
关于配置OpenGL开发环境时遇到的问题
无法解析的外部符号 glfwxxx右键 [项目解决方案] -> [属性] -> [链接器] -> [输入] -> [附加依赖项] -> 添加glfw3.lib 或 glfw3_mt.lib
无法解析的外部符号 gladLoadGLLoader将glad/src/glad.c直接丢进工程就行





