我想使用std::string
命名空间+成员,但我不希望文件的大小增加#include <string>
文件的大小。
我是否可以在任何地方找到std :: namespace的源代码,这样我就可以提取字符串成员并将其放在我的源代码中,这样我的二进制大小就不会增加?
请给我一些建议,谢谢!
答案 0 :(得分:0)
如果在Linux上使用GCC(通过g++
),它是免费软件,并且标准库的源代码可用。所以你可以研究它的<string>
标题(其中一些标题可能使用内置函数或属性等编译器魔法)。
请注意,如果您#include <string>
并要求编译器进行优化(使用-Os
进行大小调整,或使用-O2
进行速度调整),很可能会出现未使用的函数最后,通常libstdc++
是动态链接的(作为共享对象),因此不会占用每个程序中的空间(但是在多个进程中共享)