gpt4 book ai didi

C++ 标准库可移植性

转载 作者:可可西里 更新时间:2023-11-01 18:29:34 27 4
gpt4 key购买 nike

我从事大规模、多平台、实时网络应用程序的工作。我从事的项目通常没有真正使用容器或标准库,没有智能指针或任何“现代”C++ 语言功能。许多原始动态分配的数组很常见。

我非常想开始使用标准库和一些 C++11 规范,但是,也有很多人反对我的项目,因为“STL/C++11 不像便携,我们冒着使用它的风险”。我们确实在各种嵌入式系统以及成熟的 Ubuntu/Windows/Mac OS 系统上运行软件。

所以,对于我的问题;与标准库和 C++11 有关的可移植性的实际问题是什么?这只是让 g++ 超过某个版本的情况吗?是否有一些平台不支持?是否需要已编译的库?如果需要,它们是否难以获取/编译?有没有人遇到过被不可移植的纯 C++ 烧毁的严重问题?

最佳答案

对于 Visual C++ 2012、gcc >= 4.7 和 Clang >= 3.1,新的 C++11 标准的库支持非常完整,除了一些并发性的东西。编译器对所有单个语言特性的支持是另一回事。看这个link获取受支持的 C++11 功能的最新概述。

对于嵌入式/实时环境中 C++ 的深入分析,Scott Meyers 的 presentation materials真的很棒。它讨论了虚函数、异常处理和模板等的成本。特别是,您可能想看看他对堆分配、运行时类型信息和异常等 C++ 特性的分析,这些特性具有不确定的最坏情况时序保证,这对实时系统很重要。

您应该主要关心的是这类问题,而不是便携性(如果您关心您奶奶的心脏起搏器……)

关于C++ 标准库可移植性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com