Tag: 提升

在共享内存中保留固定大小的符号

我一直在研究一些需要我存储符号列表和相应计数的东西,它们被存储为字符串,int映射。 问题是输入大小约为32 MB但是当我尝试将其存储在内存中时,大小膨胀到1.4Gb,我经历了一些链接,发现std :: string占用了相当多的内存用于簿记和很可能导致膨胀,所以我进一步看了一下,发现可以使用boost :: array,其大小等于符号的最大大小,因为boost数组不做任何书籍保持它没有导致记忆臃肿。 但是,我希望将这个boost数组放在共享内存中,就像map<boost::array ,int>。我看了一下boost :: array文档,发现它不支持allocators ,目前我使用boost的分配器和段管理器如下: typedef bip::allocator CharAllocator; typedef bip::basic_string<char, std::char_traits, CharAllocator> SharedString; 我也遇到了这个链接,这似乎解释了很多: http : //jovislab.com/blog/?p = 89 有没有办法做到这一点,我有什么其他选择。 我不是在寻找完整的解决方案,而是提示。 谢谢,Deb!

像C中的库一样提升

你能推荐我可以在C环境中使用的同行评审库(比如Boost for C ++)吗? 提供散列,线程,进程间通信,列表,智能内存管理的东西…… 环境是嵌入式系统,不是一个非常小的系统,也不是PC!