我一直在使用stlport来开发基于wince的自定义操作系统,但从现在起,我开始考虑使用windows提供的stl。我读到它们在功能上并没有什么不同,所以现在重要的是我的图像大小。不幸的是,我不能尝试一下,比如先使用stl并创建运行时映像,然后使用stlport,然后比较这两个映像的大小,因为为了成功地构建操作系统,我还有很多其他问题需要解决。因此,我想得到一个专家的想法:
你认为哪个更轻巧?我知道stlport是如何附加,装载等,但我不太确定的STL。我查看了STL头,所看到的只是数以千计的内联函数。但仅此而已吗?我得确定一下。STL是否链接了内部的任何其他库,还是仅仅包含了头并使用这些内联函数?
最好的
Ps:我正在使用VS2012并在wec2013上工作
Ps2:我知道STL和stlport代表什么,以及如何使用它们构建应用程序。我的实际问题是,哪一个会消耗更少的内存,在HDD上使用更小的大小?(考虑到stlport是一个库,但是stl不是,等等)
发布于 2013-11-26 21:04:39
我假设STL是指编译器的标准库。这是一个常见的误解,因为STL是一个被提议并被接受为该语言的库的原始名称,但它已经从这一点演变而来。考虑到这一点,问题是:
我应该使用我的编译器提供的标准库,还是使用stlport或其他选项?
答案是,它将取决于您的用例,但好的是,只要您使用标准中定义的库(即没有扩展),那么您应该能够轻松地从使用其中一种或另一种构建,这意味着您可以自己测试。您还可以使用不同的编译器标志来测试构建。这在VS中特别重要,因为默认情况下,库使用检查迭代器,这些迭代器有利于调试,但代价是额外的内存和处理。
发布于 2013-11-26 21:20:19
STLPort被设计用于不提供STL的平台上(例如,没有C++异常支持的嵌入式平台),或者本机STL支持已经过时。
因此,通常不需要替换本机STL。应该有充分的理由在您的项目中使用STLPort。在我的经验中,我将它用于一些嵌入式DSP平台(没有本机STL)和UEFI平台(不是真正嵌入式的,但也不支持原生STL,运行时也不支持C++异常)。
STLPort是高度可定制的(您可以禁用异常、流等),并且几乎可以在任何具有基本C++支持的平台上使用。
https://stackoverflow.com/questions/20227819
复制相似问题