- 博客(5)
- 收藏
- 关注
原创 2020-09-30
Qt安装笔记 官网下载地址 赋予执行权限并运行 sudo chmod a+x qt-opensource-linux-x64-5.12.8.run ./qt-opensource-linux-x64-5.12.8.run 一路next,但记得要钩上 Deskto gcc 64-bit 执行命令 sudo apt-get install mesa-common-dev sudo apt-get install libglu1-mesa-dev 若编译还有问题,执行,否则略过这步 sudo
2020-09-30 23:20:14
130
原创 可重入函数与不可重入函数
可重入函数与不可重入函数 概念 可重入函数(reentrant):在任意时刻可以被中断,稍后再继续运行,不会丢失数据,即不用担心数据被其他线程篡改。可重入函数必须满足以下三个条件: 可以在执行的过程中可以被打断; 被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。 再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。 不可重入函数(non-reentrant):多任务调用某一不可重入函数时,可能修改其他任务调用该函数的数据,从而导致不可预料的后果。即
2020-05-29 11:10:42
862
1
原创 拷贝构造函数与赋值运算符
拷贝构造函数和赋值运算符 默认拷贝构造函数和赋值运算符函数 在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符函数(缺省的)。 禁止拷贝和赋值 使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。 class Person { public: ... Person(const Person& p) = delete; Person& operator=(co
2020-05-29 08:47:20
843
原创 C程序内存分配
APUE中的一个典型C内存空间分布 名称 内容 栈 局部变量、函数参数、局部常量 堆 动态内存分配 DATA段 已初始化全局变量、已初始化全局静态变量、已初始化局部静态变量 BSS段 未初始化全局变量,未初始化全局静态变量 文字常量区 字符串常量、全局const常量 代码段 可执行代码 简介 栈(stack):存放函数的参数值、返回值、局部变量的值,以及在进行任务切换时存放当前任务的上下文内容。 堆(heap):用于动态内存分配,即使用malloc/free系列函
2020-05-25 20:02:38
267
原创 const和static的用法
const 用法 const 修饰局部变量 // 等效的写法 const int n = 1; // n 必须初始化 int const n = 1; // n 必须初始化 const 修饰常量静态字符串 const char* str="fdsafdsa"; 如果没有const的修饰,我们可能会在后面有意无意的写str[4]=’x’这样的语句,这样会导致对只读内存区域的赋值,然后程序会立刻异常终止。有了const,这个错误就能在程序被编译的时候就立即检查出来,这就是const的好处。让逻辑错误在编译
2020-05-25 00:23:51
985
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人