- 博客(4)
- 收藏
- 关注
原创 C++之移动语义
移动语义其实就是给程序员提供一种触发浅度拷贝的方式, 以避免不必要的深度拷贝;右值引用特性的引入是支撑移动语义的核心手段引用折叠其实就是在编译器在实例化模板函数参数的时候, 裁剪掉多余的以使语义能正常编译利用引用折叠, T&& t其实可以接收多种值类型参数, 使得其成为了万能引用std::move只是单纯的类型转换, 将其他值类型或值引用类型转换为右值引用类型std::forward保证了函数参数在函数内部传递给其他函数的时候, 保持值类型不变。
2024-05-11 20:08:32
1331
1
原创 C语言程序代码编译成可执行文件的过程
c语言文件通过#include的方式将依赖文件包含进来, 但是#include包含进来的都是头文件, 这些头文件只是标识符以及函数的定义, 并没有实现, 所以链接器需要将依赖相关的实现链接起来, 才能生成一个可以执行的文件。编译阶段的最终目标是生成汇编代码,这些汇编代码可以由汇编器和链接器进一步处理,最终生成可执行的二进制文件。编译阶段主要负责将高级的C语言代码转化为中间表示,以便后续的优化和转换,以及生成适用于目标硬件的汇编代码。的, 它文本文件 , 其中的内容是由汇编指令组成的汇编代码。
2023-08-31 17:33:14
1614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人