当前位置: 首页 > wzjs >正文

加热器网站怎么做的google搜索引擎入口 镜像

加热器网站怎么做的,google搜索引擎入口 镜像,优质高等职业院校建设申报网站,兼职小时工引言 在第一篇博客中,深入浅出之STL源码分析1_vector基本操作-CSDN博客 我们将引出下面的几个问题 1.刚才我提到了我的编译器版本是g 11.4.0,而我们要讲解的是STL(标准模板库),那么二者之间的关系是什么?…

引言

在第一篇博客中,深入浅出之STL源码分析1_vector基本操作-CSDN博客

我们将引出下面的几个问题
1.刚才我提到了我的编译器版本是g++ 11.4.0,而我们要讲解的是STL(标准模板库),那么二者之间的关系是什么?STL安装后我们到哪里去看源码?

2.我们引入了头文件#include<vector>

这里的vector的内容是什么?

3.vector<int> test_vector; 这中定义方式是干什么?<>的作用是什么?

4.test_vector.push_back(22); 对于stl源码底层到底做了什么?把对应的数据插入到了哪个地址了?

什么时候分配的虚拟内存?什么时候扩容?什么时候会分配物理内存?

下面我们来重点来说明下问题1.

stl和标准库的关系

标准库的代码都统一在一个命名空间std(Standard的缩写)中,也就是说std命名空间下的内容属于C++标准库(Standard Library),但是并非全部属于标准模版库(standard template library, stl),也就是标准模板库只是标准库的一部分。

std 是 C++ 标准库的所有组件所在的命名空间,包含以下类别:

  • ​STL(标准模板库)​:容器、迭代器、算法、函数对象等。
  • ​非 STL 的标准库组件:输入输出(iostream)、字符串(std::string)、智能指针、多线程(std::thread)、异常处理、类型工具(type_traits)等。

stl的实现与编译器的关系

C++ 标准库(含 STL)的源码由 ​编译器厂商或开源社区实现,不同编译器使用不同的实现:

  • ​GCC:使用 ​**libstdc++**​(GNU 标准 C++ 库),源码路径如 /usr/include/c++/版本号
  • ​Clang:默认使用 libstdc++,但可配置为 ​**libc++**​(LLVM 项目开发)。
  • ​MSVC:使用 ​Microsoft STL,仅限 Windows。
  • MinGW 是gcc的windows版本。

每个实现的源码结构和优化策略不同,但均遵循 C++ 标准。

stl源码何时安装到linux?

STL 源码在 ​安装编译器时自动部署,属于编译器工具链的一部分:

  • ​安装 GCC:会同时安装其标准库(libstdc++)的 ​头文件(.h/.hpp)​​ 和 ​预编译二进制库(.so)​。
  • ​头文件路径:如 /usr/include/c++/11/vector(GCC 11.4.0 版本)。
  • ​二进制库路径:如 /usr/lib/gcc/aarch64-linux-gnu/11/libstdc++.so。

一个疑问?就是一般我们的stl都是头文件的形式,我们只是需要.h文件就可以使用了,为什么还有一个动态库呢?

 /usr/lib/gcc/aarch64-linux-gnu/11/libstdc++.so,哪些实现需要放在.cpp中并且形成动态库呢?

虽然 STL 的模板代码(如 vector、deque)​完全在头文件中实现,但标准库中还有以下内容需要编译为二进制库:

类别

示例

​**为什么需要二进制库?**​

运行时支持

std::exception

std::type_info

需要全局唯一的 RTTI(运行时类型信息)和异常处理机制。

动态内存管理

operator new

operator delete

全局内存分配器的实现需要跨编译单元共享。

输入输出流

std::cout

std::fstream

底层文件操作和缓冲区管理需要与操作系统交互,无法完全用头文件实现。

多线程支持

std::thread

std::mutex

依赖操作系统原生线程 API(如 pthread),需封装为二进制接口。

数学函数

std::sin

std::sqrt

某些数学函数需要链接到系统数学库(如

libm

)。

C 标准库兼容层

std::printf

std::malloc

C 标准库函数(如

printf

)的实现需要预编译。

http://www.dtcms.com/wzjs/530440.html

相关文章:

  • 汽车网站代码搜索引擎营销分类
  • 安徽兴罗建设集团网站码迷seo
  • 金山做网站的公司成都百度推广公司电话
  • 建设网站计划 ppt上海优化公司有哪些
  • 南宁市平台公司seo优化就业前景
  • 高端网站建设 杭州百度最新版app下载安装
  • 方又圆网站建设百度竞价排名系统
  • 江宁区建设工程局网站seo社区
  • 有没有可以做兼职的网站济南seo网站排名优化工具
  • 可以免费发广告的app山东seo推广公司
  • 电子商务网站开发视频推广引流怎么做
  • 建网站找哪家比较靠谱的网站
  • 做涂鸦的网站什么是百度竞价
  • 浏览网站时弹出的广告是谁给做的外包公司和劳务派遣
  • 青岛网景互联网站建设公司如何让自己的网站排名靠前
  • 阿里巴巴网站建设方案书互联网营销师证书
  • 设计师作品集网站学seo网络推广
  • 怎么在京东做网站品牌宣传文案范文
  • 哪个网站可以做车贷郑州seo竞价
  • 做网站需要什么配置的笔记本百度一下就知道官网
  • wap网站引导页特效秦洁婷seo博客
  • 石家庄做网站同城推广
  • 香港网上购物网站大全如何百度收录自己的网站
  • markdown做网站模板软文营销经典案例200字
  • 定制网站和模板网站的区别优化建站
  • 白云网站建设公seo排名推广
  • 2017网站建设报价单百度搜索 手机
  • 长春 做网站多少钱网络营销课程报告
  • 网站建设大作业泉州排名推广
  • 白银网站建设白银百度指数有什么作用