2013-11-26 2 views
1

Я использую stlport для разработки пользовательской ОС на основе wince, но отныне я думаю об использовании stl, предоставляемого окнами. Я читал, что функционально они не отличаются друг от друга, поэтому в настоящее время имеет значение размер моего изображения. К сожалению, я не могу дать им обе попытки попробовать сначала использовать stl и сделать образ времени выполнения, а затем использовать stlport, а затем сравнить размеры обоих изображений, потому что у меня есть много других проблем, которые мне нужно решить, чтобы успешно создать ОПЕРАЦИОННЫЕ СИСТЕМЫ. Поэтому я хотел получить экспертную идею:STL vs Stlport: Какой из них более легкий

Какой, по вашему мнению, был бы более легким? Я знаю, как stlport подключен, загружен и т. Д., Но я не совсем уверен в STL. Я просмотрел заголовки STL, и все, что я видел, было тысячами встроенных функций. Но это все? Я должен быть уверен в этом. Связывает ли STL любые другие библиотеки внутри или просто включает заголовки и использует эти встроенные функции?

Лучшие

Ps: Я использую VS2012 и работает на wec2013

Ps2: Я знаю, что STL и STLport стоит и как создать приложение, используя их. Мой фактический вопрос: какой из них будет потреблять меньше памяти, использовать меньший размер на HDD? (Принимая во внимание такие вещи, как stlport, это lib, но stl не является и т. Д.)

ответ

4

Я предполагаю, что по STL вы имеете в виду стандартную библиотеку вашего компилятора. Это распространенное недоразумение, поскольку STL было оригинальным названием библиотеки, которая была предложена и принята на этот язык, но она эволюционировала от этого. С учетом этого возникает вопрос:

Должен ли я использовать стандартную библиотеку, поставляемую с моим компилятором, или использовать stlport [или другие альтернативы]?

Ответ заключается в том, что это будет зависеть от вашего варианта использования, но хорошо то, что до тех пор, пока вы используете библиотеку, определенную в стандарте (то есть без расширений), вы должны иметь возможность легко переключаться с с тем или иным, и это означает, что вы можете проверить это самостоятельно. Вы также можете протестировать здание с помощью разных флагов компилятора. Это особенно важно в VS, поскольку по умолчанию библиотека использует проверенные итераторы, которые хороши для отладки, но за счет дополнительной памяти и обработки.

+0

Да, STL Я говорил о стандартной библиотеке моего компилятора, поэтому я добавил заметку о моей версии Visual Studio. Я попробовал оба из них и не имел никаких проблем с построением, вызванных STL. Меня больше интересуют следы STL и stlports. Какой из них будет использовать меньше памяти, что на самом деле является моим главным вопросом. – Xentius

+0

@ Xentius Возможно, было бы неплохо прекратить использовать STL в этом смысле, потому что это отдельная библиотека, теперь оставленная. Microsoft никогда не распространяла STL. – Potatoswatter

+1

@ Xentius: Как я уже упоминал в ответе, нет четкого ответа, кроме меры.Я ожидал бы, что по умолчанию потребности в памяти и процессорах VS будут выше (проверены итераторы), но если вы отключите их, я бы не стал делать ставки так или иначе. –

1

STLPort предназначен для использования на платформах, которые не предоставляют STL по некоторым причинам (например, встроенные платформы без поддержки исключений в C++), или встроенная поддержка STL устарела.

Итак, обычно вам не нужно заменять родной STL. Должны быть веские причины использовать STLPort в вашем проекте. По моему опыту, я использовал его для некоторых встроенных платформ DSP (нет родных STL), а для платформы UEFI (не очень встроенной, но не для родной STL), также среда исполнения не поддерживает исключения C++).

STLPort очень настраиваемый (вы можете отключить исключения, потоки и т. Д.) И может использоваться практически на любой платформе с базовой поддержкой C++.

Смежные вопросы