Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ramses
-2 / 0 / 1
Регистрация: 24.04.2011
Сообщений: 55
#1

Сокращение строк под инклюды - C++

28.04.2011, 08:22. Просмотров 810. Ответов 17
Метки нет (Все метки)

Конкретно:

#include <stdafx.h>
#include <conio.h>
#include <iostream>
#include <string>
#include <windows.h>

можно ли как-то сократить символьно эти подключения? Скомбинировать их и т.п. Да/Нет.
http://www.cyberforum.ru/cpp-beginners/thread955756.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 08:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сокращение строк под инклюды (C++):

Про инклюды (не могу подключить хидера)
Привет! Есть две папки &quot;classes&quot; и &quot;functions&quot; в папке &quot;incl&quot;. Мне нужно...

Добавил в "инклюды" regex, стал нерабочим алгоритм transform
Доброго дня) В общем, может сталкивался кто - бредовая какая-то ошибка. В...

Выделение памяти под массив строк
Вот нерабочий код и сейчас объясню, что пытаюсь сделать fstream f;...

Нужно изменить class human под изменение строк/переменных в ходе использования
Здравствуйте, дорогие форумчане. У меня есть готовый код класса human, но вот...

Сокращение кода
Всем привет! Ребят, возникла мелкая проблема. Написал программку человеку, он...

17
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
28.04.2011, 08:24 #2
Насколько знаю, нет.
0
ramses
-2 / 0 / 1
Регистрация: 24.04.2011
Сообщений: 55
28.04.2011, 08:29  [ТС] #3
Плохо.. Ладно я ещё пока балуюсь с вводом/выводом в консоли, а когда дело дойдёт до вещей, достойных называться программами? Ох и растянется этот список))
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
28.04.2011, 12:25 #4
Нельзя.

Если уж очень хочется скомбинировать, создай себе отдельный файл, свали туда все инклюды и подключай через инклюде только этот файл.
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
28.04.2011, 15:59 #5
Цитата Сообщение от Evg Посмотреть сообщение
создай себе отдельный файл
И PCH от этого лучше работать будет.
Так и сделай!

А вообще, париться из-за написания пяти строк... Счастливый ты человек... Мне бы так...
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
28.04.2011, 16:11 #6
Цитата Сообщение от ramses Посмотреть сообщение
Ох и растянется этот список))
Если грамотно быть программу на файлы, то не растянется.
Цитата Сообщение от Deviaphan Посмотреть сообщение
И PCH от этого лучше работать будет.
Так и сделай!
Опыт показывает, что:
1. При командной разработке подобные файлы с временем превращаются в помойку.
2. Использование подобных файлов только замедляет процесс компиляции, так как при изменении одного из включаемых файлов приходится компилировать все файлы.
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
28.04.2011, 16:12 #7
Цитата Сообщение от Deviaphan Посмотреть сообщение
И PCH от этого лучше работать будет
Я не знаю, что такое РСН, но лучше от этого точно ничего работать не будет
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
28.04.2011, 16:14 #8
Evg, PCH - Precompiled header.
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
28.04.2011, 16:15 #9
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
2. Использование подобных файлов только замедляет процесс компиляции, так как при изменении одного из включаемых файлов приходится компилировать все файлы
Если это язык Си, а инклюды - только системные, то замедления практически не будет. С НЕсистемными инклюдами (т.е. собственнми) на каждый чих из-за зависимостей будет всё пересобираться. Ну а с Си++ понятно - очень много шаблонов в инклюдах. Хотя многие компиляторы работают с precompile headers, так что при их использовании замедление навряд ли будет очень уж сильным

Добавлено через 32 секунды
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Evg, PCH - Precompiled header.
Понятно, просто не знал, что такая аббревиатура используется
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
28.04.2011, 16:21 #10
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
так как при изменении одного из включаемых файлов приходится компилировать все файлы
Поэтому и помещать туда следует только ну оч стабильные файлы.)

Добавлено через 59 секунд
Цитата Сообщение от Evg Посмотреть сообщение
Я не знаю, что такое РСН, но лучше от этого точно ничего работать не будет
"грамотный" подход.)
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
28.04.2011, 22:06 #11
Цитата Сообщение от Deviaphan Посмотреть сообщение
"грамотный" подход.)
Я хорошо себе представляю, что такое инклюды и как они работают. Ровно как и даю себе отчёт в том, что никакие нанотехнологии и инновации, связанные с инклюдами, не способны улучшить работу или компиляцию программы
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
29.04.2011, 05:50 #12
Цитата Сообщение от Evg Посмотреть сообщение
не способны улучшить работу или компиляцию программы
А уменьшение времени сборки это что по твоему? Не улучшение процесса компиляции программы?

И ключевые слова я выделил жирным. Утверждать что-либо, ничего не зная об объекте утверждения оч грамотно... пофиг.
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
29.04.2011, 11:25 #13
Цитата Сообщение от Deviaphan Посмотреть сообщение
А уменьшение времени сборки это что по твоему? Не улучшение процесса компиляции программы?
Ты говорил про "будет лучше работать", а не "быстрее компилиться". Не думал, что для кого-то это может означать одно и то же

Цитата Сообщение от Deviaphan Посмотреть сообщение
Утверждать что-либо, ничего не зная об объекте утверждения оч грамотно... пофиг
A: если правильно расщепить молекулы несимметричного диметилгидразина, то 2+2 будет равняться 5
Б: я не знаю, что такое несимметричный диметилгидразин, но независимо от того, как его расщеплять, 2+2 будет равняться 4
А: "Утверждать что-либо, ничего не зная об объекте утверждения оч грамотно..." (c)
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
29.04.2011, 11:33 #14
Цитата Сообщение от Evg Посмотреть сообщение
Ты говорил про "будет лучше работать", а не "быстрее компилиться".
Нет. Я говорил:
И PCH от этого лучше работать будет.
А это равнозначно "быстрее компилиться".

Добавлено через 2 минуты
А - Б - А
Пример не корректен, т.к. Б знает арифметику. Пример был бы корректен, если бы Б сказал, я не знаю, что такое "2" и "+" и "5" и что есть равно, но "2+2" не равно 5 - пример был бы корректен.
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
29.04.2011, 11:38 #15
Цитата Сообщение от Deviaphan Посмотреть сообщение
Я говорил
Ясно. Значит я не так тебя понял

Цитата Сообщение от Deviaphan Посмотреть сообщение
Пример не корректен
Корректен, потому что Б знает, как работают инклюды. Некорректен потому, что А утверждал другое. Как я писал выше, твою фразу я не правильно понял
0
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
29.04.2011, 11:44 #16
Вы о чем спорите....даже если будет выгода при сборке, чего я не исключаю, смысла в этой выгоде практически 0. Люди используют компиляторы которые собирают в несколько раз медленнее той же visual studio и не жалуются, потому что скорость сборки для них вторична. А вы тут серьезно про выгоду в несколько миллисекунд (или максимум секунд) обсуждаете.
Изначально то вопрос был в объеме исходного кода... )
0
Evg
Эксперт CАвтор FAQ
18937 / 6898 / 512
Регистрация: 30.03.2009
Сообщений: 19,432
Записей в блоге: 30
29.04.2011, 11:48 #17
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Люди используют компиляторы которые собирают в несколько раз медленнее той же visual studio и не жалуются, потому что скорость сборки для них вторична
Много ли людей собирают проекты, полная сборка которых может занимать время порядка часа? А те, кто с этим сталкивался, всерьёз задумываются о сокращении времени компиляции (особенно после модификации хидера)

Цитата Сообщение от vitaly1981 Посмотреть сообщение
Изначально то вопрос был в объеме исходного кода...
Автору всё ответили, дальше пошли спорить о своём
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
29.04.2011, 11:52 #18
Когда процесс сборки длится несколько (десятков)часов, то отыгранные даже несколько процентов этого времени значат очень много.
0
29.04.2011, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2011, 11:52
Привет! Вот еще темы с решениями:

Сокращение кода
Есть задача: Я решил таким способом: #include &lt;fstream&gt; int...

Сокращение кода
Я учусь сокращать код на С++, для решения олемпиадных задач. (только пока еще...

Сокращение дроби
Даны натуральные числа a и b, обозначающие соответственно числитель и...

Сокращение кода
Думаю, многие, кто занимался олимпиадным программированием, знакомы с сайтом...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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