62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
|
1 | |
Документация g++03.03.2010, 12:49. Показов 5856. Ответов 18
Метки нет Все метки)
(
Недавно начал изучать С++, и хочу научиться искать необходимую документацию, опыта в поиске доки не имел, и хочу попросить совет как мне найти доку например для new(компилятор g++) - собственно нужно узнать он генерирует исключительную ситуацию или возвращает нулевой указатель. Искал тут - http://gcc.gnu.org/onlinedocs/gcc-4.4.3/cpp.pdf но ничего не нашел
Прошу не винить за глупый вопрос, просто хочу научиться читать доку. Спасибо
2
|
|
03.03.2010, 12:49 | |
Ответы с готовыми решениями:
18
Документация MSDN Документация по SDL
документация по для пользователя |
Псевдо программист
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
|
|
03.03.2010, 12:53 | 2 |
заходите в любой поисковик. я рекомендую google.com
пишите ключевые слова. для данного случая - "c++ new" без кавычек. смотрите результаты поиска и наслаждаетесь.
0
|
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
|
03.03.2010, 13:06 [ТС] | 3 |
это понятно, но я ищу именно для g++, читаю сейчас книгу Шилдта, там сказано что в случае неудачи по стандарту new должен возвращать bad_alloc, как тут - http://www.cplusplus.com/refer... bad_alloc/ , "но не все компиляторы соответствуют стандарту и некоторые возвращают нулевой указатель, что тоже не запрещается", так мне нужно узнать конкретно что возвращает new в g++ и где это искать?
1
|
быдлокодер
1722 / 909 / 106
Регистрация: 04.06.2008
Сообщений: 5,655
|
|
03.03.2010, 16:29 | 4 |
На счёт документации не знаю. Но, я пожалуй, смогу тебе помочь, еесли ты захочешь узнаТь, что именно возвратил очередной вызов gcc
Речь идёт не о чтении документации, а о нескольких лёгких пассах руками. Если заинтересовался- напиши.
0
|
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
|
03.03.2010, 23:35 [ТС] | 6 |
0
|
быдлокодер
1722 / 909 / 106
Регистрация: 04.06.2008
Сообщений: 5,655
|
|
03.03.2010, 23:44 | 7 |
Ну дело собсно в том, что, как заявляют создатели cmd.exe, узнать, что возвращает та или иная команда. довольно легко. Почитать здесь.
ссылки на другие форумы запрещены Ключевое слово ERRORLEVEL Более подробно щас писать некогда, футбол выбил из колеи.
0
|
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
|
|
03.03.2010, 23:47 [ТС] | 8 |
0
|
Модератор
![]() ![]() ![]() ![]() 11707 / 7214 / 1710
Регистрация: 25.07.2009
Сообщений: 13,214
|
||||||
04.03.2010, 09:34 | 10 | |||||
kravam, а и в правду не очень понятна связь между значением, возвращаемым программой операционной системе, и значением, возвращаемым вызовом функции внутри программы. Вот к примеру странный код:
Код
$ ./return123 $ echo $? 123
0
|
Модератор
![]() ![]() ![]() ![]() 11707 / 7214 / 1710
Регистрация: 25.07.2009
Сообщений: 13,214
|
|
04.03.2010, 14:36 | 11 |
Топикстартеру: Можно посмотреть, как оно в заголовочном файле объявлено. К примеру у меня в макоси оно вот так выглядит:
Код
$ grep new /usr/include/c++/4.0.0/new /** @file new * The header @c new defines several functions to manage dynamic memory and * @brief Exception possibly thrown by @c new. * errors from the throwing forms of @c new. */ /** If you write your own error handler to be called by @c new, it must typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); * - normal single new and delete (no arguments, throw @c bad_alloc on error) * - normal array new and delete (same) * - @c nothrow single new and delete (take a @c nothrow argument, return * - @c nothrow array new and delete (same) * Placement new and delete signatures (take a memory address argument, void* operator new(std::size_t) throw (std::bad_alloc); void* operator new[](std::size_t) throw (std::bad_alloc); void* operator new(std::size_t, const std::nothrow_t&) throw(); void* operator new[](std::size_t, const std::nothrow_t&) throw(); // Default placement versions of operator new. inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
2
|
![]() ![]() |
|||||||||||
04.03.2010, 17:48 | 14 | ||||||||||
Вот реализация оператора new из gcc-4.2.1 (файл gcc-4.2.1/libstdc++-v3/libsupc++/new_op.cc)
Правда есть ещё какая-то "nothrow"-реализация (файл new_opnt.cc)
1
|
![]() ![]() |
|
04.03.2010, 18:14 | 16 |
Не знаю. Я только отвечал автору на вопрос. Остальную переписку читать заломало
Добавлено через 2 минуты С учётом того, что на протяжении всей версии gcc-3.*.* и gcc-4.*.* они постоянно привоядт поведение компилятора к стандарту, то твоё утверждение весьма спорно
0
|
![]() |
|
04.03.2010, 19:20 | 17 |
к какому из стандартов?
начиная с версии 4.4.* началась реализация с++0х. примерно в одно и то же время, этим занялись все серьезные производители компиляторов. к сожалению, времена 3.* застал чуть-чуть. так что тут хз.
0
|
![]() ![]() |
|
04.03.2010, 19:59 | 18 |
4.4 - это совсем свежая версия. А так традиционно g++ очень фривольно общался со стандартами Си++ и разрешал очень много конструкций (видимо, из соображений "а почему бы и нет?"). И проблема из этого росла такая, что многое из софта, которое собиралось на gcc-2.95.3 (последний стабильный компилятор из 2-й серии) не собиралось на 3-их версиях, потому как в софте было много некорректных конструкций, которые 2-й gcc (т.е. g++) кушал, а 3-й уже запрещал. Такая же картина была и при переходе с 3-ей версии на 4-ю, но уже в меньшей степени. Какие-то конкретные примеры не могу дать, ибо по части Си++ у меня туго.
Нынешние версии поддерживают какие-то конструкции типа extern template, правда, скорее всего, это уже относится к расширениям gnu
1
|
![]() |
|
04.03.2010, 21:12 | 19 |
это требование с++0х. не скажу что это необходимо, ибо это не так. но существенно(очень) ускоряет компиляцию исходников шаблонного кода, и объем сгенерированого объектника. всего лишь.
Добавлено через 3 минуты если любопытно, вот что реализовано: http://gcc.gnu.org/gcc-4.5/cxx0x_status.html
1
|
04.03.2010, 21:12 | |
Помогаю со студенческими работами здесь
19
Документация по флагам оптимизации Иерархия классов документация. Документация и примеры по файлу dsound.h Последняя официальная документация по стандарту СРР Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |