Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
CRT Library
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: CRT Library (Прочитано 9609 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mayor
Специалист
Offline
CRT Library
«
:
01-07-2004 02:11 »
Я выкинул из проекта все CRT библиотеки, теперь надо предоставить линкеру ссылки на
_strlen
__assert
__chkesp
нет ли где в винде их аналога?
Или это не самый удачный способ уменьшить исполняемый файл?
Записан
1n c0de we trust
Xeysan
Гость
CRT Library
«
Ответ #1 :
01-07-2004 07:13 »
assert ты можешь написать сам, со студией поставляются исходники библиотеки, посмотри в файле assert.c.
strlen == lstrlen
Насчет chkesp, попробуй откомпилировать не Debug, a Release версию проекта, по идее должен выкинуть, хотя я не уверен
Записан
npak
Команда клуба
Offline
Пол:
CRT Library
«
Ответ #2 :
03-07-2004 21:36 »
Mayor
, можно компилироваться с MSVCRT.DLL тогда размер статической части экзешника будет относительно мал.
Ещё один способ поставить в Visual Studio исходники С Run Time, выкинуть всё, что считаешь лишним, и линковаться с результатом.
По ссылке
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx
лежит статья одного товарища, который озаботился разработкой маленькой библиотечки c run time. Посмотри, может тебе подойдёт.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Mayor
Специалист
Offline
CRT Library
«
Ответ #3 :
12-07-2004 03:01 »
npak
, я начал читать статью, но не понял что такое статический конструктор, деструктор и куда в этом случае девается this
Записан
1n c0de we trust
Chaa
Помогающий
Offline
Пол:
CRT Library
«
Ответ #4 :
12-07-2004 03:57 »
Если ты используешь классы с их конструкторами, деструкторами, операторами new и delete то без crt обойтись будет нелегко.
Вот интересная статья
http://rsdn.ru/?article/cpp/crt.xml
Записан
Mayor
Специалист
Offline
CRT Library
«
Ответ #5 :
15-07-2004 02:48 »
Chaa
, я прочитал эту статью, единственное чего не понял - как избавиться от chkesp (пока единственный выход релиз версия), остальное в принципе работает.
npak
, насколько я понял статический конструктор вызывается при объявлении объекта вне функции? this ссылается на .data секцию ?
Записан
1n c0de we trust
npak
Команда клуба
Offline
Пол:
CRT Library
«
Ответ #6 :
15-07-2004 12:25 »
Mayor
, да, статический конструктор вызывается для объектов в глобальной области видимости, вне функций и других классов. Например, cin, cout. Статические поля классов, я думаю, инициализируются при первом обращении к ним.
Что касается размещения глобального объекта, то я думаю что для него vtables и структура данных для объекта аллоцируются статически и помещаются в сегмент данных. Возможно, это .data.
Деструкторы должны вызываться после завершения main, с ними тоже есть свои заморочки, но проще чем с конструкторами.
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
CRT Library
Загружается...