摘要: (来自<<程序员的自我修养>>) 静态链接: 地址和空间分配 符号决议 重定向 阅读全文
posted @ 2023-04-02 14:34 海蓝笨 阅读(13) 评论(0) 推荐(0) 编辑
摘要: (来自<<程序员的自我修养>>) 编译过程可以分为六步: 扫描:源代码程序输入到扫描器, 语法分析:使用类似有限状态机的算法,将源代码的字符分割为一系列记号。大致可以:关键字、标识符、字面量(包含数字、字符串等)和特殊符号(加号、减号等)。 语义分析:编译器能分析的是静态语义即在编译器能够确定的语义 阅读全文
posted @ 2023-04-02 14:18 海蓝笨 阅读(25) 评论(0) 推荐(0) 编辑
摘要: gcc编译程序的时候可以分为四个部分: (来自于<<程序员的自我修养>>) 预处理(Prepressing) 编译(Compilation) 汇编(Assembly) 链接(Linking) 预编译阶段: gcc -E hello.c -o hello.i 主要工作为 展开所有的宏定义,删除#def 阅读全文
posted @ 2023-04-02 13:58 海蓝笨 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 现在新版的QT5.15之后安装都只能用官网下载的exe在线安装,国内安装会遇到很多问题。我们可以使用镜像源进行安装,使用镜像源安装的方式为: 首先在官网把对应的exe文件下载下来,https://download.qt.io/official_releases/online_installers/ 阅读全文
posted @ 2023-03-31 15:26 海蓝笨 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 简单理解,左值拥有地址,右值没有地址,是一个临时变量。 左值不一定在左边,在右边的不一定是右值 int i = 10; int a = i;//把左值赋给左值 左值引用 非const右值不能赋值给左值引用int SetValue(int value) { return value; } int Se 阅读全文
posted @ 2023-03-27 21:20 海蓝笨 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 函数指针的几种用法 #include<iostream> #include<vector> using namespace std; void add(int a, int b) { cout<<a + b<<" "; } void ForEach(const vector<int>& nums,v 阅读全文
posted @ 2023-03-27 19:58 海蓝笨 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 给出几种常见的形式: extern int i;//声明,当其他文件存在i的定义的时候,本文件要使用i需要使用extern关键字,让编译器去其他文件找到i的定义,声明可以多次,但是定义只能一次 extern int j=1;//这样没有太大的意义,表示声明并定义,赋初值的操作把extern的作用抹杀 阅读全文
posted @ 2023-03-26 11:51 海蓝笨 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 背包问题是动态规划的常见题目。主要分为01背包、多重背包等。题目一般给出物品个数N、背包体积V。然后输入每个物品的体积V和价值W 一般的解题思路是使用一个二维数组,每一个f[i][j]可以看作一个背包。那么f[i][j]就表示有i个物品放入体积为j的背包最大的价值。对于第i个物品可能出现三种情况: 阅读全文
posted @ 2023-03-26 10:32 海蓝笨 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 数据类型占用的字节数: char 1 short 2 int 4 long long 8 当我们需要进行内存补齐的时候,是看最大类型然后进行补齐。 struct test{ short a; short b; char c; }; struct test01 { long long a; char 阅读全文
posted @ 2023-03-25 16:03 海蓝笨 阅读(20) 评论(0) 推荐(0) 编辑
摘要: static可以用在两种地方。类或结构体外部和类或结构体内部。 对于外部,可以简单理解为在该文件中声明了static的是一个私有的。那么其他文件中使用同名变量或者函数,编译器不会报错,即其他文件看不到该静态变量或者函数。但如果没声明为static那么就会报错。即不可以有两个重名的全局变量或函数,如果 阅读全文
posted @ 2023-03-24 14:20 海蓝笨 阅读(47) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示