Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
insideone
Модератор
Автор FAQ
3639 / 918 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
#1

Организация проекта на C++ - C++

15.01.2010, 21:29. Просмотров 1793. Ответов 7
Метки нет (Все метки)

Как правильно организовать большой проект?
Незная этого я создал так:
stdafx.h включает в себя все заголовки
один из включаемых файлов - globals.h содержит все extern'ы
каждый .cpp включает в себя stdafx.h
.cpp - 13 файлов
.h - 19 файлов

Это удобно, но... допустимо или криво? В последнее время проект стал долго компилится (почти минута). Очень трудно когда ждешь минуту а там какая нибудь банальная ошибка.
Не сильно юзаю template <> так что наврятли из за этого. Подскажите как можно организовать проект удобно для себя и удобно для компилятора (чтобы побыстрее)...
PS. VS 2008, проц двуядерный по 1.8 ГГц на ядро. 2 Гб ОЗУ
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2010, 21:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организация проекта на C++ (C++):

Правильная организация файлов проекта, CMake - C++
Здравствуйте... Из прочитанной информации по всему простору интернета у меня теперь в голове каша... Прошу ответить людей, работающих над...

как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта - C++
Собственно данная задача возникает, когда в Blank Solution добавляем проект модульных тестов к первому проекту Empty C++. К примеру первый...

Организация программы - C++
Здравствуйте уважаемые программисты! Есть такая задача: Используйте одномерный массив для решения задачи. Компания платит своим...

Организация функции - C++
Подскажите как можно, и можно ли вообще перевести данный код в 2 функции и вызывать их по такому принципу : while(TRUE) { if...

Организация наследования - C++
Здраствуйте! У меня есть несколько классов: class Base { public: int baseGet() { return i; } void...

Организация программы. - C++
Здравствуйте. Как организовать программу? Дана матрица с ней производится ряд операций. После этих операций матрица проверяется на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
15.01.2010, 21:33 #2
Цитата Сообщение от insideone Посмотреть сообщение
Очень трудно когда ждешь минуту а там какая нибудь банальная ошибка.
почитай книжку Майерса "Эффективное использование С++".
в ней говорится, как уменьшить зависимости между модулями, чтобы все они не требовали перекомпиляции при изменении в одном из файлов.
2
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
15.01.2010, 21:39 #3
Правильно zim22: прежде чем приступать к проектам на C++, нужно знать,
что C++ это не Java, и сборщика мусора там нет.
0
insideone
Модератор
Автор FAQ
3639 / 918 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
15.01.2010, 21:42  [ТС] #4
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Правильно zim22: прежде чем приступать к проектам на C++, нужно знать,
что C++ это не Java, и сборщика мусора там нет.
Имеется в виду что ко всем классам нужно писать деструкторы и все new должны завершаться delete? Никогда не кодил на Java)

Книжку попробуем изучить, надеюсь она не толстенная
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
15.01.2010, 21:42 #5
Цитата Сообщение от Genius Ignat Посмотреть сообщение
C++ это не Java, и сборщика мусора там нет.
сборщик мусора не причём. компиляция долгая.
***
Цитата Сообщение от insideone Посмотреть сообщение
Книжку попробуем изучить, надеюсь она не толстенная.
тебе нужно "правило 31". страница 144.
isbn книги 5-94074-304-8
1
insideone
Модератор
Автор FAQ
3639 / 918 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
15.01.2010, 22:43  [ТС] #6
В целом понял что нужно:
1. Вместо включения файлов с необходимыми классами писать преварительное объявление вида class x;
2. Создавать 2 класса. Сам класс который пишешь - типа реализация полная, а кроме того обертку которая просто дает указатель на главный класс.
По второму пункту мудрено как то, надо попробовать... как бы это удобнее подстроить под себя. Проект то уже разросся и тяжеловато все переписать будет.
0
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
15.01.2010, 22:52 #7
insideone,

Как правильно организовать большой проект?

Включить прекомпилированные заголовки
Просто организовать свалку в stdafx недостаточно.
0
insideone
Модератор
Автор FAQ
3639 / 918 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
15.01.2010, 23:46  [ТС] #8
Включены они... (/Yc) Строго говоря я их для прикола выключал - разницы не особо если честно =(
Видимо как раз устраивать свалку в stdafx не стоит хоть это и удобно очень... раньше было все отлично, но при 240 КБ кода видимо уже нет))

Добавлено через 47 минут

Не по теме:

/*жаль нельзя переносить темы. в общем то по невнимательности создал тут хотя хотел в корне*/

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2010, 23:46
Привет! Вот еще темы с ответами:

Организация меню - C++
Само задание сделал, но не могу понять, как делать менюшку _________________________________________ Описать структуру с именем ORDER,...

Организация Меню в С++ - C++
Привет!!!!!!!!!! Народ подскажите как создать меню в С++ в консольном приложении???

Организация БД по дате - C++
Тема далеко не новая и некоторые наводки на решения я находил уже на форуме, но лишь наводки. Суть такая: При вводе данных в БД в...

Организация цикла С++ - C++
Добрый день. Нужно организовать ниже приведенный код таким образом чтобы программа никогда не выводила более 10 чисел в одной строке, и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.01.2010, 23:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru