|
Вопросы по C от ламера, В книжках ответа чёта не нахожу |
|
|
Guest_Скопидор_*
|
Apr 10 2009, 11:16
|
Guests

|
Зачем вообще нужно ключевое слово «auto»? Ведь классификатор(или квалификатор? как это слово точно называется?) памяти «auto» никак не используется ( по крайней мере в исходниках разных разработчиков я его не видел). Т.к. глобальные переменные не могут быть « auto», а локальные и так по умолчанию «auto».
Сообщение отредактировал Скопидор - Apr 10 2009, 11:19
|
|
|
|
|
 |
Ответов
Guest_Скопидор_*
|
Apr 23 2009, 12:51
|
Guests

|
Т.е. препроцессор каким-то чудесным образом узнаёт в каких случаях при встрече им директивы #include вставлять вместо #include содержимое файла, а когда нет? А если он не вставляет содержимое системного файла в наш исходник, то почему компилятор не ругается "undefined variable" если мы юзаем переменные из системного файла? Цитата(MrYuran @ Apr 23 2009, 16:27)  Код из библиотек не подставляется при компиляции А тогда зачем вообще писать, к примеру, #include <iostream> если препроцессор всё равно не подставляет код из этого библиотечного файла в наш исходник?
Сообщение отредактировал Скопидор - Apr 23 2009, 13:07
|
|
|
|
|
Apr 23 2009, 15:09
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Скопидор @ Apr 23 2009, 16:51)  А если он не вставляет содержимое системного файла в наш исходник, то почему компилятор не ругается "undefined variable" если мы юзаем переменные из системного файла? А тогда зачем вообще писать, к примеру, #include <iostream> если препроцессор всё равно не подставляет код из этого библиотечного файла в наш исходник? В h-файлах обычно определяются константы, макросы, предварительные объявления функций и ссылки на переменные. То есть, если вы используете в тексте переменные или функции из других модулей, то они должны быть объявлены до использования. Переменные - как extern, функции - как предварительное описание. Например, встретив в тексте описание viod SomeFunc(); компилятор будет спокойно воспринимать вызовы этой функции, подразумевая, что она более подробно описана в другом месте (в другом модуле, библиотеке, а может быть, в текущем, но ниже)
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
Guest_Скопидор_*
|
Apr 23 2009, 15:18
|
Guests

|
Цитата(MrYuran @ Apr 23 2009, 19:09)  В h-файлах обычно определяются константы, макросы, предварительные объявления функций и ссылки на переменные. Да какая разница что там описано в этих h-файлах (а, кстати, где Вы увидели h в приведённой мной выше строке #include <iostream> ?) если Вы сами же пишите:Цитата(MrYuran @ Apr 23 2009, 16:27)  Код из библиотек не подставляется при компиляции, а линкуется при конечной сборке. Из чего следует, что содержимое этих "h-файлов"не добавляется препроцессором в наш исходник
Сообщение отредактировал Скопидор - Apr 23 2009, 15:23
|
|
|
|
|
Apr 23 2009, 16:57
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Скопидор @ Apr 23 2009, 19:18)  Из чего следует, что содержимое этих "h-файлов"не добавляется препроцессором в наш исходник содержимое "этих h-файлов" используется компилятором для формирования ссылок на внешние переменные и функции, которые затем цепляются линкером. При этом в объектный код компилируемого модуля никакой дополнительный код из внешних модулей не вставляется. Короче, учите матчасть. Лучше всего взять конкретный исходник (желательно грамотно написанный) и разобрать его по косточкам.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
Сообщений в этой теме
Скопидор Вопросы по C от ламера Apr 10 2009, 11:16 mdmitry The C++ Programming Language Special 3rd Edition ... Apr 10 2009, 13:08 SysRq На Хабре было интересно: http://habrahabr.ru/blogs... Apr 10 2009, 13:37 Скопидор Цитата(SysRq @ Apr 10 2009, 17:37) На Хаб... Apr 10 2009, 18:29 Скопидор Какие компиляторы (каких фирм) и начиная с какого ... Apr 10 2009, 22:02 andrew_b Цитата(Скопидор @ Apr 11 2009, 02:02) Как... Apr 13 2009, 05:32 ukpyr ЦитатаДык объявлять каждую переменную в каждом из ... Apr 14 2009, 21:23 Скопидор Цитата(ukpyr @ Apr 15 2009, 01:23) правил... Apr 14 2009, 21:42 MrYuran Цитата(Скопидор @ Apr 15 2009, 01:42) А к... Apr 15 2009, 04:13 Скопидор 1.А обязательно ли в препроцессорной директиве #in... Apr 14 2009, 22:13 MrYuran Цитата(Скопидор @ Apr 15 2009, 02:13) Ест... Apr 15 2009, 04:31 andrew_b Цитата(Скопидор @ Apr 15 2009, 02:13) 1.А... Apr 15 2009, 04:41  Скопидор Цитата(andrew_b @ Apr 15 2009, 08:41) Нич... Apr 15 2009, 07:30   MrYuran Цитата(Скопидор @ Apr 15 2009, 11:30) И е... Apr 15 2009, 07:41    Скопидор Цитата(MrYuran @ Apr 15 2009, 11:41) Хрен... Apr 15 2009, 08:09 Скопидор Цитата(Скопидор @ Apr 15 2009, 02:13) 5.Е... Apr 24 2009, 11:51 SysRq Цитата(Скопидор @ Apr 11 2009, 02:02) Поч... Apr 14 2009, 23:32 Скопидор Цитата(SysRq @ Apr 15 2009, 03:32) Неверн... Apr 15 2009, 00:48  SysRq Цитата(Скопидор @ Apr 15 2009, 04:48) Ну ... Apr 15 2009, 01:45   Скопидор Цитата(SysRq @ Apr 15 2009, 05:45) Срочно... Apr 15 2009, 07:47    ReAl Цитата(Скопидор @ Apr 15 2009, 10:44) Доп... Apr 15 2009, 07:54     andrew_b Цитата(ReAl @ Apr 15 2009, 11:54) Код#inc... Apr 15 2009, 08:19      Скопидор Цитата(andrew_b @ Apr 15 2009, 12:19) Ну ... Apr 15 2009, 08:39       andrew_b Цитата(Скопидор @ Apr 15 2009, 12:39) А д... Apr 15 2009, 09:11        Скопидор Цитата(andrew_b @ Apr 15 2009, 13:11) Вид... Apr 15 2009, 10:09    ReAl Цитата(Скопидор @ Apr 15 2009, 10:47) Да ... Apr 15 2009, 08:30 mdmitry IDE сама может при создании файла прописать некото... Apr 15 2009, 11:56 Скопидор Вопрос №7.
Можно ли использовать при объявлении (... Apr 15 2009, 15:42 SysRq Цитата(Скопидор @ Apr 15 2009, 19:42) ...... Apr 15 2009, 20:00  Скопидор Цитата(SysRq @ Apr 16 2009, 00:00) Присва... Apr 15 2009, 20:34   demiurg_spb Цитата(Скопидор @ Apr 16 2009, 00:34) А к... Apr 15 2009, 21:52 andrew_b Цитата(Скопидор @ Apr 15 2009, 19:42) Воп... Apr 16 2009, 04:48 _Pasha Цитата(Скопидор @ Apr 15 2009, 18:42) Воп... Apr 16 2009, 10:35 Скопидор Возвращаясь к обсуждению директивы #include.
В не... Apr 23 2009, 12:22 andrew_b Цитата(Скопидор @ Apr 23 2009, 15:28) Поя... Apr 23 2009, 12:23 MrYuran Ещё раз.
Встретив директиву #include "filena... Apr 23 2009, 12:27 Скопидор Цитата(MrYuran @ Apr 23 2009, 16:27) Код ... Apr 23 2009, 12:35  AndreyKeil Цитата(Скопидор @ Apr 23 2009, 18:35) А м... Apr 23 2009, 12:54   Скопидор Цитата(AndreyKeil @ Apr 23 2009, 16:54) Г... Apr 23 2009, 13:03    mdmitry Цитата(Скопидор @ Apr 23 2009, 17:03) Т.е... Apr 23 2009, 13:21 Скопидор Дык всё-таки "раздельная компиляция" ест... Apr 23 2009, 12:29 andrew_b Цитата(Скопидор @ Apr 23 2009, 16:29) Дык... Apr 23 2009, 12:35 MrYuran Цитата(Скопидор @ Apr 23 2009, 16:29) Дык... Apr 23 2009, 12:37 Скопидор Вопрос №12
Как и для чего в C++ используется идент... Apr 23 2009, 14:57 sergeeff Все что имеется в h-файлах и не отключается команд... Apr 23 2009, 15:38 Скопидор Цитата(sergeeff @ Apr 23 2009, 19:38) Вам... Apr 23 2009, 17:36 SysRq Скопидор, уймитесь с форматированием. Весеннее обо... Apr 23 2009, 17:42 Скопидор Цитата(SysRq @ Apr 23 2009, 21:42) Скопид... Apr 23 2009, 18:31  singlskv Цитата(Скопидор @ Apr 23 2009, 22:31) Да ... Apr 23 2009, 18:46  sergeeff Цитата(Скопидор @ Apr 23 2009, 21:31) Да ... Apr 23 2009, 19:02 AndreyKeil Цитата(Скопидор @ Apr 24 2009, 00:31) Неп... Apr 23 2009, 18:57 rezident Цитата(AndreyKeil @ Apr 24 2009, 00:57) А... Apr 23 2009, 19:14 Скопидор Цитата(singlskv @ Apr 23 2009, 22:46) Пат... Apr 23 2009, 19:34 singlskv Цитата(Скопидор @ Apr 23 2009, 23:34) Ещё... Apr 23 2009, 19:48  Скопидор Цитата(singlskv @ Apr 23 2009, 23:48) Раз... Apr 23 2009, 20:26   mdmitry Цитата(Скопидор @ Apr 24 2009, 00:26) Вы ... Apr 24 2009, 08:09    Скопидор Цитата(mdmitry @ Apr 24 2009, 12:09) Вы т... Apr 24 2009, 09:03     andrew_b Цитата(Скопидор @ Apr 24 2009, 13:03) Кни... Apr 24 2009, 09:08      Скопидор Цитата(andrew_b @ Apr 24 2009, 13:08) Не ... Apr 24 2009, 09:17     mdmitry Цитата(Скопидор @ Apr 24 2009, 13:03) Кни... Apr 24 2009, 09:34      Скопидор Цитата(mdmitry @ Apr 24 2009, 13:34) учас... Apr 24 2009, 09:44 mdmitry Какие книги смотрели?
У Страуструпа про заголовочн... Apr 23 2009, 19:43 Скопидор Цитата(singlskv @ Apr 23 2009, 22:46) По ... Apr 23 2009, 19:43 SysRq Стоило остановиться еще там:
Цитата(Скопидор ... Apr 23 2009, 19:52 Скопидор Цитата(singlskv @ Apr 23 2009, 22:46) #in... Apr 23 2009, 20:07 singlskv Цитата(Скопидор @ Apr 24 2009, 00:07) Т.е... Apr 23 2009, 20:13 sergeeff Цитата(Скопидор @ Apr 23 2009, 23:07) Я п... Apr 23 2009, 20:17 MrYuran Цитата(Скопидор @ Apr 24 2009, 00:07) Т.е... Apr 24 2009, 04:24 sergeeff И в результате всей совместной деятельности форумч... Apr 23 2009, 21:33 Скопидор Цитата(sergeeff @ Apr 24 2009, 01:33) И в... Apr 24 2009, 07:31 SysRq Новички C++!!! Это очень понятный язык... Apr 24 2009, 13:48 Скопидор Цитата(SysRq @ Apr 24 2009, 17:48) Новичк... Apr 24 2009, 14:16  sergeeff Цитата(Скопидор @ Apr 24 2009, 17:16) «Ес... Apr 24 2009, 16:09   Скопидор Цитата(sergeeff @ Apr 24 2009, 20:09) Я н... Apr 24 2009, 19:02 sergeeff Понятно, хочется себя любимого втюхать кому-то как... Apr 24 2009, 21:51 Скопидор Цитата(sergeeff @ Apr 25 2009, 01:51) Пон... Apr 24 2009, 22:13 SysRq Раз все выяснилось, предлагаю принять правила игры... Apr 24 2009, 22:24 Скопидор Цитата(SysRq @ Apr 25 2009, 02:24) Раз вс... Apr 24 2009, 23:32  SysRq Цитата(Скопидор @ Apr 25 2009, 03:32) Тог... Apr 25 2009, 00:07 Andy Nikiforovv Кто удаляет из исходника камменты (перед компиляци... Apr 27 2009, 19:14 sergeeff Цитата(Andy Nikiforovv @ Apr 27 2009, 23... Apr 27 2009, 19:18 mdmitry Цитата(Andy Nikiforovv @ Apr 27 2009, 23... Apr 27 2009, 20:48 Andy Nikiforovv Написано, что параметры командной строки для Borla... Apr 27 2009, 20:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|