Я использую stlport для разработки пользовательских ОС на основе Wince, но теперь я думаю об использовании STL, предоставляемых Windows. Я читал, что функционально они не отличаются друг от друга, поэтому в настоящее время важен размер моего изображения. К сожалению, я не могу дать им обоим попробовать, как сначала использовать stl и создать образ времени выполнения, а затем использовать stlport, а затем сравнить размеры обоих изображений, потому что у меня много других проблем, которые мне нужно решить, чтобы успешно построить ОПЕРАЦИОННЫЕ СИСТЕМЫ. Поэтому я хотел получить экспертную идею:
Какой из них вы считаете более легким? Я знаю, как подключается, загружается и т. Д., Но я не совсем уверен в STL. Я посмотрел на заголовки STL, и все, что я видел, были тысячи встроенных функций. Но это все? Я должен быть уверен в этом. Связывает ли STL какие-либо другие библиотеки внутри или просто включает заголовки и использует эти встроенные функции?
Лучший
PS: я использую VS2012 и работаю над wec2013
Ps2: я знаю, что такое STL и stlport и как создавать приложения, используя их. Мой реальный вопрос: какой из них потребляет меньше памяти, использует меньший размер на жестком диске? (Принимая во внимание такие вещи, как stlport — это библиотека, но stl нет и т. Д.)
Я предполагаю, что под STL вы подразумеваете стандартную библиотеку вашего компилятора. Это распространенное недоразумение, так как STL было первоначальным названием библиотеки, которая была предложена и принята в язык, но она произошла от этого. Принимая это во внимание, возникает вопрос:
Должен ли я использовать стандартную библиотеку, поставляемую с моим компилятором, или использовать stlport [или другие альтернативы]?
Ответ заключается в том, что это будет зависеть от вашего варианта использования, но хорошо то, что до тех пор, пока вы используете библиотеку, как определено в стандарте (то есть без расширений), вы сможете легко переходить от сборки с одним или другим , а это значит, что вы можете проверить это самостоятельно. Вы также можете протестировать сборку с разными флагами компилятора. Это особенно важно в VS, так как по умолчанию библиотека использует проверенные итераторы, которые хороши для отладки, но за счет дополнительной памяти и обработки.
STLPort
разработан для использования на платформах, которые по некоторым причинам не предоставляют STL (например, встроенные платформы без поддержки исключений C ++), или собственная поддержка STL устарела.
Итак, обычно вам не нужно заменять родной STL. Должны быть веские причины для использования STLPort в вашем проекте. По своему опыту, я использовал его для некоторых встроенных платформ DSP (без встроенного STL) и для платформы UEFI (на самом деле не встроенный, но и без собственного STL, также среда выполнения не поддерживает исключения C ++).
STLPort
легко настраивается (вы можете отключить исключения, потоки и т. д.) и может использоваться практически на любой платформе с базовой поддержкой C ++.