c++ - STL 与 STL 端口 : Which one is more lightweight

标签 c++ stl windows-embedded-compact stlport

我一直在使用STLport 开发基于wince 的自定义操作系统,但从现在开始我正在考虑使用windows 提供的STL。我读到它们在功能上没有什么不同,所以目前重要的是我的图像大小。不幸的是,我不能像先使用 STL 并制作运行时图像,然后使用 STLport,然后比较两个图像的大小一样尝试它们,因为我还有很多其他问题需要解决才能成功构建操作系统。因此我想得到一个专家的想法:

您认为哪个更轻巧?我知道 STLport 是如何附加、加载等的,但我不太确定 STL。我查看了 STL 头文件,发现只有数千个内联函数。但这就是全部吗?我需要确定一下。 STL 是否在内部链接任何其他库,还是仅包含 header 并使用这些内联函数?

最佳

Ps: 我用的是VS2012,在wec2013上工作

Ps2:我知道 STL 和 STLport 代表什么以及如何使用它们构建应用程序。我的实际问题是哪一个会消耗更少的内存,在 HDD 上使用更小的容量? (考虑到 STLport 是一个库,但 STL 不是等等)

最佳答案

我假设您所说的 STL 是指编译器的标准库。这是一个常见的误解,因为 STL 是一个库的原始名称,它被提议并接受到该语言中,但它是从这个名称演变而来的。考虑到这一点,问题就变成了:

Should I use the standard library provided with my compiler or use stlport [or other alternatives]?

答案是这将取决于您的用例,但好处是只要您使用标准中定义的库(即没有扩展),那么您应该能够轻松地从构建一个或其他,这意味着您可以自己测试。您还可以使用不同的编译器标志测试构建。这在 VS 中特别重要,因为默认情况下库使用检查迭代器,这有利于调试,但以额外内存和处理为代价。

关于c++ - STL 与 STL 端口 : Which one is more lightweight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20227819/

相关文章:

C++ 错误 : no match for 'operator<<'

c++ - 为什么 G++ 告诉我 "Stack"没有在此范围内声明?

boost - 在 Boost MPI 中使用骨架/内容机制发送复杂数据

c++ - 为什么当我尝试使用带有参数的 priority_queue 作为指向结构的指针时会弹出错误

c# - Windows 与 VCE 上的 LDAP 绑定(bind)

visual-studio-2008 - 部署到Windows CE 7时的“Bootstrap could not be loaded”

c++ - 在构造函数中给定引用,将类变量设置为引用

c++ - 错误 C2100 - 非法间接

c++ - 以下代码不起作用

c# - .NET Framework 4.5 及更高版本是否可用于 Embedded Compact 2013 和 Windows 10 IoT Core?