Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.
Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
CRT (если я правильно понимаю, C RunTime [library]) нужон для совместимости с POSIX-ом. К тому же они и так через WinAPI реализованы (ну кроме самых тривиальных).
ДМ>> А теперь вопроизведи это на API.
DS> Да элементарно. См. wsprintf
Сам смотри, только внимательно, особенно — на поддерживаемые типы выводимых значений.
Best regards,
Sergey.
Posted via RSDN NNTP Server 1.8 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: А нужен ли нам CRT?
От:
Аноним
Дата:
13.01.04 10:17
Оценка:
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Не знаю как тебе, а мне лично нужен, чтобы иметь некий базис для многоплатформенной реализации части приложения.
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Глюк какой-то был. Так вот, если убрать CRT, то кто будет инициализировать кучу? Кто будет вызывать конструкторы глобальных объектов? Создавать стандартные потоки (stdout и пр.)? Ловить необработанное исключение?
Здравствуйте, Евгений Коробко, Вы писали:
ЕК>Глюк какой-то был. Так вот, если убрать CRT, то кто будет инициализировать кучу? Кто будет вызывать конструкторы глобальных объектов? Создавать стандартные потоки (stdout и пр.)? Ловить необработанное исключение?
По поводу кучи. Windows создают для процесса default овый WinHeap при инициализации процесса. Так что куча уже есть. Кстати, CRT банально создаёт свой собственный WinHeap для кучи.
Необработанные исключения система тоже ловит и выводит хорошо знакомое всем окошко с предложением обратится к разработчику.
Если я ничего не запамятовал, то, действительно, остаётся обработка глобальных объектов, поддержка инфраструктуры C++ исключений и как часть обработки глобальных объектов, создание/уничтожение стандартных потоков для консольных приложений.
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Конечно нужен!!! Как же без него дотнет запускать?
... << RSDN@Home 1.1.2 beta 3 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
К сожалению нужен , так как в Windows нет аналогов всех функций из CRT.
Но можно пользоваться облегченным CRT , если написать свой , или использовать от CRT от ATL.
P.S.
Если кто-то напишет аналог СRT , но менее весомый будет очень хорошо
[]
__>К сожалению нужен , так как в Windows нет аналогов всех функций из CRT. __>Но можно пользоваться облегченным CRT , если написать свой , или использовать от CRT от ATL.
__>P.S. __>Если кто-то напишет аналог СRT , но менее весомый будет очень хорошо
В ntdll.dll есть реализация CRT, при чем очень не плохая.
Re: А нужен ли нам CRT?
От:
Аноним
Дата:
27.01.04 09:50
Оценка:
Здравствуйте, LaFlour, Вы писали:
LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями. LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Иногда нужен, иногда с этим можно и побороться, подробнее смотри здесь
Мне как-то не нравится линковать CRT ради пары функций. Например. если надо rand(), то я лучше свою напишу. Аналогично, если нужны sin() и cos(), то, по-моему, проще создатить массивы. Ну а если надо, например, отформатировать double, то тут, как кто-то уже заметил, не обойтись одними Win API.
Здравствуйте, Аноним, Вы писали:
А>Мне как-то не нравится линковать CRT ради пары функций. Например. если надо rand(), то я лучше свою напишу. Аналогично, если нужны sin() и cos(), то, по-моему, проще создатить массивы. Ну а если надо, например, отформатировать double, то тут, как кто-то уже заметил, не обойтись одними Win API.
Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей :
например математические функции, работа со строками , работа с плавающей запятой и т.д.
Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.
__>Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей : __>например математические функции, работа со строками , работа с плавающей запятой и т.д. __>Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.
Если линковать динамически, то тебе не пофиг?
А если статически, то, может быть, линкер делает какие-то оптимизации? Выкидывает ненужное?
Здравствуйте, Аноним, Вы писали:
__>>Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей : __>>например математические функции, работа со строками , работа с плавающей запятой и т.д. __>>Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.
А>Если линковать динамически, то тебе не пофиг?
Это почему ?
Можно например вместо msvcr71.dll ,которая берет 300кб взять ,например, math.dll , которая берет в несколько раз меньше.
Но если есть несколько программ , то тогда действительно без разницы будет. А>А если статически, то, может быть, линкер делает какие-то оптимизации? Выкидывает ненужное?
А это нужно проверить.