А нужен ли нам CRT?
От: LaFlour Австралия blog: http://spaces.live.com/laflour
Дата: 13.01.04 07:06
Оценка:
Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.
Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Re: А нужен ли нам CRT?
От: Leonid V. Volnin Россия  
Дата: 13.01.04 07:53
Оценка: 1 (1)
Здравствуйте, LaFlour, Вы писали:

LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.

LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.

CRT (если я правильно понимаю, C RunTime [library]) нужон для совместимости с POSIX-ом. К тому же они и так через WinAPI реализованы (ну кроме самых тривиальных).
best regards, Leonid
Re: А нужен ли нам CRT?
От: Денис Майдыковский Россия http://www.maydyk.com
Дата: 13.01.04 09:36
Оценка:
Здравствуйте, LaFlour, Вы писали:

LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться?


double x = sqrt(2.0f);
char msg[80];
sprintf(msf, "Square root: %7.3f", x);


А теперь вопроизведи это на API.
Re[2]: А нужен ли нам CRT?
От: Dr_Sh0ck Беларусь  
Дата: 13.01.04 09:43
Оценка:
Здравствуйте, Денис Майдыковский, Вы писали:

ДМ>
ДМ>double x = sqrt(2.0f);
ДМ>char msg[80];
ДМ>sprintf(msf, "Square root: %7.3f", x);
ДМ>


ДМ>А теперь вопроизведи это на API.



Да элементарно. См. wsprintf
Do not fake yourself ;)
ICQ#: 198114726
Re[3]: А нужен ли нам CRT?
От: Sergey Россия  
Дата: 13.01.04 10:07
Оценка:
Hello, Dr_Sh0ck!
You wrote on Tue, 13 Jan 2004 09:43:42 GMT:

ДМ>>
 ДМ>> double x = sqrt(2.0f);
 ДМ>> char msg[80];
 ДМ>> sprintf(msf, "Square root: %7.3f", x);
 ДМ>>


ДМ>> А теперь вопроизведи это на 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? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.

Не знаю как тебе, а мне лично нужен, чтобы иметь некий базис для многоплатформенной реализации части приложения.
Re: А нужен ли нам CRT?
От: Евгений Коробко  
Дата: 13.01.04 10:17
Оценка:
Здравствуйте, LaFlour, Вы писали:

LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.

LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.
Евгений Коробко
Re: А нужен ли нам CRT?
От: Евгений Коробко  
Дата: 13.01.04 10:22
Оценка:
Глюк какой-то был. Так вот, если убрать CRT, то кто будет инициализировать кучу? Кто будет вызывать конструкторы глобальных объектов? Создавать стандартные потоки (stdout и пр.)? Ловить необработанное исключение?
Евгений Коробко
Re[2]: А нужен ли нам CRT?
От: Шахтер Интернет  
Дата: 13.01.04 20:29
Оценка:
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Глюк какой-то был. Так вот, если убрать CRT, то кто будет инициализировать кучу? Кто будет вызывать конструкторы глобальных объектов? Создавать стандартные потоки (stdout и пр.)? Ловить необработанное исключение?


По поводу кучи. Windows создают для процесса default овый WinHeap при инициализации процесса. Так что куча уже есть. Кстати, CRT банально создаёт свой собственный WinHeap для кучи.
Необработанные исключения система тоже ловит и выводит хорошо знакомое всем окошко с предложением обратится к разработчику.

Если я ничего не запамятовал, то, действительно, остаётся обработка глобальных объектов, поддержка инфраструктуры C++ исключений и как часть обработки глобальных объектов, создание/уничтожение стандартных потоков для консольных приложений.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re: А нужен ли нам CRT?
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.04 02:32
Оценка: :)
Здравствуйте, LaFlour, Вы писали:

LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.

LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.

Конечно нужен!!! Как же без него дотнет запускать?
... << RSDN@Home 1.1.2 beta 3 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: А нужен ли нам CRT?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 14.01.04 16:04
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Если я ничего не запамятовал...

Плавающую точку забыл.
Алексей Кирдин
Re: А нужен ли нам CRT?
От: _nn_ www.nemerleweb.com
Дата: 14.01.04 16:55
Оценка:
Здравствуйте, LaFlour, Вы писали:

LF>Собтвенно есть Windows функции, которые более менее перекрывают CRT. то что не перекрывает МОЖНО реализовать и windows ф-ями.

LF>Спрашивается, а на кой нам тогда нужен CTR? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.

К сожалению нужен , так как в Windows нет аналогов всех функций из CRT.
Но можно пользоваться облегченным CRT , если написать свой , или использовать от CRT от ATL.

P.S.
Если кто-то напишет аналог СRT , но менее весомый будет очень хорошо
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: А нужен ли нам CRT?
От: Евгений Коробко  
Дата: 15.01.04 05:15
Оценка: 1 (1)
Есть tinycrt. Почитать можно здесь http://www.microsoft.com/msj/archive/S569.aspx
Скачать здесь http://www.wheaty.net/libctiny.zip
Posted via RSDN NNTP Server 1.8 beta
Евгений Коробко
Re: А нужен ли нам CRT?
От: mihailik Украина  
Дата: 15.01.04 17:29
Оценка:
LF>Спрашивается, а на кой нам тогда нужен CTR?

В небольшой утилите под Windows вполне можно обойтись. Где-то в MSDN я похожую статью читал.

А уж если драйвер писать, так MS вообще советует поменьше всякой мути подключать.
... << RSDN@Home 1.1.0 stable >>
Re[2]: А нужен ли нам CRT?
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 23.01.04 06:59
Оценка:
Здравствуйте, _nn_, Вы писали:

[]

__>К сожалению нужен , так как в 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? Может стоит вообще от него оттказаться? Будет ли выйгрыш в производительности по сравнению с затратами на кодирование? Врядтли. Но имхо стоит смотреть вперед.

Иногда нужен, иногда с этим можно и побороться, подробнее смотри здесь
Автор(ы): Виталий Брусенцев
Дата: 19.01.02
Статья посвящена вопросам оптимизации размера выполняемых модулей, генерируемых различными
компиляторами C++ (основное внимание уделено MS Visual С++). С этой целью рассматриваются особенности Библиотеки исполнения C/C++ и ее реализаций, а также процессы компиляции и компоновки приложений. Приведены практические приемы, позволяющие в ряде случаев уменьшить размер приложения до величины 3-4 килобайта.
.
Re: А нужен ли нам CRT?
От: Аноним  
Дата: 28.01.04 08:42
Оценка:
Мне как-то не нравится линковать CRT ради пары функций. Например. если надо rand(), то я лучше свою напишу. Аналогично, если нужны sin() и cos(), то, по-моему, проще создатить массивы. Ну а если надо, например, отформатировать double, то тут, как кто-то уже заметил, не обойтись одними Win API.
Re[2]: А нужен ли нам CRT?
От: _nn_ www.nemerleweb.com
Дата: 28.01.04 09:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мне как-то не нравится линковать CRT ради пары функций. Например. если надо rand(), то я лучше свою напишу. Аналогично, если нужны sin() и cos(), то, по-моему, проще создатить массивы. Ну а если надо, например, отформатировать double, то тут, как кто-то уже заметил, не обойтись одними Win API.


Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей :
например математические функции, работа со строками , работа с плавающей запятой и т.д.
Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: А нужен ли нам CRT?
От: Аноним  
Дата: 28.01.04 09:48
Оценка:
__>Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей :
__>например математические функции, работа со строками , работа с плавающей запятой и т.д.
__>Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.

Если линковать динамически, то тебе не пофиг?
А если статически, то, может быть, линкер делает какие-то оптимизации? Выкидывает ненужное?
Re[4]: А нужен ли нам CRT?
От: _nn_ www.nemerleweb.com
Дата: 28.01.04 10:38
Оценка:
Здравствуйте, Аноним, Вы писали:

__>>Было бы неплохо если бы CRT ,которая идет в студии, состояла из нескольких частей :

__>>например математические функции, работа со строками , работа с плавающей запятой и т.д.
__>>Т.е. в программы можно было бы добавить ту часть которая нужна , а не тащить все, из которого половина не используется.

А>Если линковать динамически, то тебе не пофиг?

Это почему ?
Можно например вместо msvcr71.dll ,которая берет 300кб взять ,например, math.dll , которая берет в несколько раз меньше.
Но если есть несколько программ , то тогда действительно без разницы будет.
А>А если статически, то, может быть, линкер делает какие-то оптимизации? Выкидывает ненужное?
А это нужно проверить.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.