Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279

Документация g++

03.03.2010, 12:49. Показов 6607. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно начал изучать С++, и хочу научиться искать необходимую документацию, опыта в поиске доки не имел, и хочу попросить совет как мне найти доку например для new(компилятор g++) - собственно нужно узнать он генерирует исключительную ситуацию или возвращает нулевой указатель. Искал тут - http://gcc.gnu.org/onlinedocs/gcc-4.4.3/cpp.pdf но ничего не нашел

Прошу не винить за глупый вопрос, просто хочу научиться читать доку. Спасибо
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2010, 12:49
Ответы с готовыми решениями:

Документация MSDN
В библиотеках Windows'a нашел интересные статьи по поводу консоли. Есть ли перевод этой документации? Можно ли их как скачать, чтобы...

Документация по SDL
Люди , кто знает пожалуйста киньте ссылки на документацию по SDL =) Заранее спс!

Актуальная документация
Добрый день, уважаемые форумчане. Я новичок в С++ и недавно я услышал, что для поднятия уровня знаний языка необходимо штудировать...

18
Псевдо программист
 Аватар для R0mm
192 / 113 / 37
Регистрация: 19.09.2009
Сообщений: 303
03.03.2010, 12:53
заходите в любой поисковик. я рекомендую google.com
пишите ключевые слова. для данного случая - "c++ new" без кавычек.
смотрите результаты поиска и наслаждаетесь.
0
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
03.03.2010, 13:06  [ТС]
Цитата Сообщение от R0mm Посмотреть сообщение
заходите в любой поисковик. я рекомендую google.com
пишите ключевые слова. для данного случая - "c++ new" без кавычек.
смотрите результаты поиска и наслаждаетесь.
это понятно, но я ищу именно для g++, читаю сейчас книгу Шилдта, там сказано что в случае неудачи по стандарту new должен возвращать bad_alloc, как тут - http://www.cplusplus.com/refer... bad_alloc/ , "но не все компиляторы соответствуют стандарту и некоторые возвращают нулевой указатель, что тоже не запрещается", так мне нужно узнать конкретно что возвращает new в g++ и где это искать?
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,702
03.03.2010, 16:29
На счёт документации не знаю. Но, я пожалуй, смогу тебе помочь, еесли ты захочешь узнаТь, что именно возвратил очередной вызов gcc
Речь идёт не о чтении документации, а о нескольких лёгких пассах руками. Если заинтересовался- напиши.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
03.03.2010, 17:40
Цитата Сообщение от norge_goth Посмотреть сообщение
в случае неудачи по стандарту new должен возвращать bad_alloc
так и есть.
за несоответствие стандарту, можно обвинять микрософтстудию и борланд. но не gcc.
0
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
03.03.2010, 23:35  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
На счёт документации не знаю. Но, я пожалуй, смогу тебе помочь, еесли ты захочешь узнаТь, что именно возвратил очередной вызов gcc
Речь идёт не о чтении документации, а о нескольких лёгких пассах руками. Если заинтересовался- напиши.
Да конечно, очень хочу для моего развития будет оч полезно внимательно слушаю
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,702
03.03.2010, 23:44
Ну дело собсно в том, что, как заявляют создатели cmd.exe, узнать, что возвращает та или иная команда. довольно легко. Почитать здесь.
ссылки на другие форумы запрещены

Ключевое слово ERRORLEVEL

Более подробно щас писать некогда, футбол выбил из колеи.
0
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
03.03.2010, 23:47  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
Более подробно щас писать некогда, футбол выбил из колеи.
а ну эт дело нужное ща буду разбираться
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
03.03.2010, 23:51
Цитата Сообщение от kravam Посмотреть сообщение
Ну дело собсно в том, что, как заявляют создатели cmd.exe, узнать, что возвращает та или иная команда. довольно легко. Почитать здесь.
ссылки на другие форумы запрещены

Ключевое слово ERRORLEVEL

Более подробно щас писать некогда, футбол выбил из колеи.
товарысч, объясните мне плиз, какое отношение имеет cmd.exe к std::bad_alloc ?

Добавлено через 32 секунды
я просто в ступоре
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
04.03.2010, 09:34
kravam, а и в правду не очень понятна связь между значением, возвращаемым программой операционной системе, и значением, возвращаемым вызовом функции внутри программы. Вот к примеру странный код:
C
1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main(void){
    int i = 8 % 7;
    if ( i & 1 )
        return 123;
    return 321;
}
вызвав эту программу можно узнать, какое значение она возвратила:
Code
1
2
3
$ ./return123 
$ echo $?
123
но как узнать, какое значение получила переменная i?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
04.03.2010, 14:36
Топикстартеру: Можно посмотреть, как оно в заголовочном файле объявлено. К примеру у меня в макоси оно вот так выглядит:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ 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
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.03.2010, 16:31
Делается всё просто. Вызывается new и просится очень много памяти. Проверяется, возвращается null или кидается exception
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.03.2010, 17:37
Цитата Сообщение от Evg Посмотреть сообщение
Вызывается new и просится очень много памяти. Проверяется, возвращается null или кидается exception
так это и понятно. не понятно отношение cmd.exe к std::bad_alloc

Добавлено через 20 секунд
или наоборот)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.03.2010, 17:48
Вот реализация оператора new из gcc-4.2.1 (файл gcc-4.2.1/libstdc++-v3/libsupc++/new_op.cc)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
_GLIBCXX_WEAK_DEFINITION void *
operator new (std::size_t sz) throw (std::bad_alloc)
{
  void *p;
 
  /* malloc (0) is unpredictable; avoid it.  */
  if (sz == 0)
    sz = 1;
  p = (void *) malloc (sz);
  while (p == 0)
    {
      new_handler handler = __new_handler;
      if (! handler)
#ifdef __EXCEPTIONS
    throw bad_alloc();
#else
        std::abort();
#endif
      handler ();
      p = (void *) malloc (sz);
    }
 
  return p;
}
Добавлено через 2 минуты
Правда есть ещё какая-то "nothrow"-реализация (файл new_opnt.cc)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
_GLIBCXX_WEAK_DEFINITION void *
operator new (std::size_t sz, const std::nothrow_t&) throw()
{
  void *p;
 
  /* malloc (0) is unpredictable; avoid it.  */
  if (sz == 0)
    sz = 1;
  p = (void *) malloc (sz);
  while (p == 0)
    {
      new_handler handler = __new_handler;
      if (! handler)
    return 0;
      try
    {
      handler ();
    }
      catch (bad_alloc &)
    {
      return 0;
    }
 
      p = (void *) malloc (sz);
    }
 
  return p;
}
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.03.2010, 17:54
Evg, так я про другое. какое отношение оператор new имеет к вендовскому интерпретатору команд(cmd.exe) ?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.03.2010, 18:14
Цитата Сообщение от niXman Посмотреть сообщение
Evg, так я про другое. какое отношение оператор new имеет к вендовскому интерпретатору команд(cmd.exe) ?
Не знаю. Я только отвечал автору на вопрос. Остальную переписку читать заломало

Добавлено через 2 минуты
Цитата Сообщение от niXman Посмотреть сообщение
так и есть.
за несоответствие стандарту, можно обвинять микрософтстудию и борланд. но не gcc.
С учётом того, что на протяжении всей версии gcc-3.*.* и gcc-4.*.* они постоянно привоядт поведение компилятора к стандарту, то твоё утверждение весьма спорно
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.03.2010, 19:20
Цитата Сообщение от Evg Посмотреть сообщение
С учётом того, что на протяжении всей версии gcc-3.*.* и gcc-4.*.* они постоянно привоядт поведение компилятора к стандарту
к какому из стандартов?
начиная с версии 4.4.* началась реализация с++0х. примерно в одно и то же время, этим занялись все серьезные производители компиляторов.
к сожалению, времена 3.* застал чуть-чуть. так что тут хз.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
04.03.2010, 19:59
4.4 - это совсем свежая версия. А так традиционно g++ очень фривольно общался со стандартами Си++ и разрешал очень много конструкций (видимо, из соображений "а почему бы и нет?"). И проблема из этого росла такая, что многое из софта, которое собиралось на gcc-2.95.3 (последний стабильный компилятор из 2-й серии) не собиралось на 3-их версиях, потому как в софте было много некорректных конструкций, которые 2-й gcc (т.е. g++) кушал, а 3-й уже запрещал. Такая же картина была и при переходе с 3-ей версии на 4-ю, но уже в меньшей степени. Какие-то конкретные примеры не могу дать, ибо по части Си++ у меня туго.

Нынешние версии поддерживают какие-то конструкции типа extern template, правда, скорее всего, это уже относится к расширениям gnu
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
04.03.2010, 21:12
Цитата Сообщение от Evg Посмотреть сообщение
extern template
это требование с++0х. не скажу что это необходимо, ибо это не так. но существенно(очень) ускоряет компиляцию исходников шаблонного кода, и объем сгенерированого объектника. всего лишь.

Добавлено через 3 минуты
если любопытно, вот что реализовано: http://gcc.gnu.org/gcc-4.5/cxx0x_status.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2010, 21:12
Помогаю со студенческими работами здесь

документация по для пользователя
Ничерта не понимаю в этом. Дали задание в универе, хоть кровь из носа надо сдать, хелп, плиз Написать программу позволяющую вводить...

Документация по флагам оптимизации
Подскажите мануал, документацию, гайд по флагам оптимизации. Желательно на русском. А то у меня программа весело себя ведёт. ...

Иерархия классов документация.
Здрастввйте алл. Пришлось заняться С++ Буилдером. Столкнулся с проблемой.. что все, что в документации и в учебниках как-то непривычно...

Документация и примеры по файлу dsound.h
Добрый день, у меня MVS 2010 Express, подключил dsound.h, но не могу найти по нему документацию, на сайте Микрософта инфы мало и примеров...

Последняя официальная документация по стандарту СРР
Кто знает, где обитает последняя официальная документация по стандарту СРР ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru