По крайней мере, некоторые функции CRT используют функции Win32 для внутреннего использования.Кроме того, CRT требует дополнительной инициализации (например, данных, специфичных для потока, для таких функций, как strtok
) и очистки, что может не потребоваться.
Вы можете создать простое приложение Win32, без какой-либо зависимости от чего-либоеще включая ЭЛТ (так же, как вы могли бы создать простое приложение NT с использованием NTDLL.DLL
- я думаю smss.exe
Windows - такой процесс, кстати).
С учетом сказанного, ядумаю, что для большинства приложений это не имеет значения.
ОБНОВЛЕНИЕ Поскольку люди, похоже, настолько запутались в различии отдельных функций, в частности memcpy
против CopyMemory
,Я хотел бы добавить, что не все функции в CRT являются обертками вокруг тех в Win32.Естественно, некоторые из них могут быть реализованы без помощи Win32 (на самом деле memcpy
является хорошим примером для этого), в то время как другие (разумно) не могут.Что-то, на что, я полагаю, @Merdad намекнул в своем ответе.
Итак, не говоря о переносимости, я не думаю, что производительность - это следующий лучший аргумент для или против использования CRT.Вы должны выбрать то, что подходит лучше всего, и это, как правило, будет ЭЛТ.И ничто не говорит против использования отдельных функций Win32 (с CRT-эквивалентами), где вы, кажется, подходите.