![]() |
Модераторы: Daevaorn Страницы: (20) Все « Первая ... 12 13 [14] 15 16 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Randajad |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
Это тот SEH, о котором я думаю?
http://ru.wikipedia.org/wiki/%D1%F2%F0%F3%...%F7%E5%ED%E8%E9 В студии он давным давно есть, например. Но комбинировать простые исключения с SEH в рамках одной функции, насколько помню, нельзя. А вообще, я плохо представляю случаи, когда оно действительно нужно. У меня в приложении глобальная функция-обработчик таких исключений установлена через SetUnhandledExceptionFilter. И когда приложение решает поделить на ноль - оно отправляет отчет об ошибке, а я смотрю уже дизасм и исправляю. Таких случаев было за несколько лет всего 3. ![]() Это сообщение отредактировал(а) Randajad - 16.9.2012, 11:39 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хм.. а три месяца назад были добавлены новый тесты. к тому же, если реализация не готова, к чему писать тесты да еще и добавлять? спрошу в списке рассылки.. Добавлено через 2 минуты и 6 секунд да, но за исключением новых ключевых слов _try/_except/_finaly Добавлено через 3 минуты и 44 секунды насколько я понял, единственное отличие SEH в gcc от SJLJ состоит в том, что SEH не создает оверхед.. |
|||
|
||||
Randajad |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
В mingw есть интересный хидер <excpt.h> с __try1, __except1, кстати.
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ааа, макросы. (http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/trunk/mingw-w64-headers/crt/excpt.h?view=log)
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
кто-то может подсказать как юзать __try1() ?
типа такого:
не понимаю, как тут юзается __except1... если при возникновении исключения будет вызван except_handler(), то для чего тут макрос __except1 ? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
несколько часов назад состоялся релиз компилятора GCC версии 4.7.2.
было исправлено более 70 багов. полный список тут. сборки MinGW на базе GCC 4.7.2 вы уже сейчас можете скачать на странице проекта. |
|||
|
||||
Randajad |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
Скачал последний 4.7.2.
Получилось 540 кило. Пробовал -flto, то же самое. Они никогда это не поправят, да? Порой из-за раздувательства кода GCC хочется его выкинуть. А альтернативы с C++11 нету. |
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
это нормально... а что в этом случае нужно править? подскажи, может быть получится нам двоим пофиксить. дело в том, что тот размер который ты видишь, это начальный размер включающий все необходимое. далее, при написании большего объема кода при использованием STL, объем будет расти очень медленно. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
-------------------- |
|||
|
||||
Randajad |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
Ни одного билда под вянду нету. Пробовал сам собирать - остались не лучшие впечатления.
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
у него нет своего ассемблера и линкера. а использовать их из gcc/binutils он не может, ибо не поддерживает __thiscall calling-convention. |
|||
|
||||
Randajad |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
То, что GCC можно сказать никак не выкидывает unused code. Надо подизассемблить экзешку и посмотреть, откуда это лезет, что-ли. Может, в сырцы GCC залезть.
Hello world в 500 кило - это ужасно. Это все хорошо, что если я буду юзать все из iostream, то размер расти не будет. Но мне оно не нужно, его инклюдят boost и другие вещи. Студия тот же код компиляет в 8 кило. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
Randajad, ты не пробовал разузнать об этом?
я узнавал по поводу начального размера Си-программы(22-30 кб). объяснили, что его можно уменьшить оптимизируя CRT. |
|||
|
||||
Randajad |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 15.3.2012 Репутация: 8 Всего: 8 |
Выцепил пару строк из iostream, которые раздувают код.
Это используется для инициализации cout, cin и прочих стандартных шняг. Надо бы в сырцы этой штуки залезть. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вроде бы вот этот сорец.
не? Добавлено через 4 минуты и 20 секунд судя по строкам 87-96, тут происходит инициализация. а вот декларация этого Init. Добавлено через 6 минут и 20 секунд хочу обратить твое внимание на то, что реализация Init находится в .cpp файле, а значит, в libstdc++.dll. почему же тогда код exe`шки распухает? Добавлено через 7 минут и 25 секунд хотя, это говорит об обратном. запутался ![]() Добавлено через 10 минут и 40 секунд если закомментить эту строку, размер exe`шки уменьшится? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |