![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.10.2010
Сообщений: 17
|
![]()
В .cpp содержащем main пишется #include "stdafx.h"
В stdafx.h содержится: Код:
На сколько я понял, если я создаю отдельный модуль с классом, который будет использовать моя программа, надо в MyClass.h поместить описание класса и запрет повторного включения: Код:
Вопросы. 1. зачем нужен stdafx.h, если можно включить файлы непосредственно? 1.1 Надо ли остальные используемые файлы, например, тот же iostream включать в stdafx'е, а не в основном модуле? 2. Зачем нужен stdafx.cpp? 3. Надо ли в MyClass.сpp писать #include "stdafx.h"? 4. Надо ли в MyClass.сpp писать #include "MyClass.h"? Если да, то надо ли в MyClass.h писать #include "MyClass.сpp" иначе как же компилятор найдёт описание методов класса? По одинаковому имени? |
![]() |
![]() |
![]() |
#2 | |||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|||||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 23.10.2010
Сообщений: 17
|
![]()
То есть всё-таки можно в stdafx.h засунуть подключение других стандартных модулей?
И непонятно всё-таки, как происходит компиляция (линковка в частности). Что и в каком порядке компилируется, и подставляется из одного файла в другой? Компилируются все .cpp файлы проекта подряд (прихватывая нужные .h файлы) и потом подставляются в нужные места? |
![]() |
![]() |
![]() |
#4 | |||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]()
Компиляция довольно сложный многошаговый процесс.
Цитата:
Цитата:
Цитата:
Хедеры не прихватываются, а вставляются в cpp препроцессором. Прочитате про директиву include. |
|||
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 23.10.2010
Сообщений: 17
|
![]()
Спасибо за подробные ответы.
А статью-то я в первую очередь прочитал. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 19.09.2011
Сообщений: 3
|
![]()
Получается, что в файл main.cpp мы включаем stdafx.h, а в stdafx.h включаем, скажем, iostream и conio.h. Отсюда вопрос: а зачем тогда еще и файл stdafx.cpp, в котором также включается stdafx.h?
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заголовочные файлы в Си | Pirr | Общие вопросы C/C++ | 12 | 18.03.2011 00:29 |
Заголовочные файлы | legendary | Общие вопросы C/C++ | 1 | 11.09.2010 19:41 |
Заголовочные файлы и windows 7 | papochka | Общие вопросы C/C++ | 7 | 14.11.2009 22:05 |
Заголовочные файлы | Гром | Общие вопросы C/C++ | 4 | 31.08.2009 15:36 |
Заголовочные файлы. C++ | Vi_King | Помощь студентам | 2 | 03.04.2008 18:47 |