14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
1 | |
Как создать отдельные файлы для компиляции в одном проекте в C++?15.01.2020, 23:55. Показов 15032. Ответов 25
Всем привет. Недавно перешел с Python на C++. И при изучении заметил, чтобы создать файл, где нужно писать исходный код, то нужно сначала создать некий проект. А можно ли в одном проекте, создать несколько файлов с расширением .cpp для работы с разными, никак друг от друга независящими кодами или каждый раз нужно создавать новый проект для нового кода? Иначе компилятор у меня компилирует задачу с предыдущего файла. В Python все просто: создал файл с расширением .py, забил в командном окне название файла и запустил. Работаю в среде Visual Studio 2017, файлы создаю в папке Исходные файлы.
0
|
15.01.2020, 23:55 | |
Ответы с готовыми решениями:
25
Как создать макрос, который сохраняет содержание столбцов А:А, С:С, О:О в отдельные ТХТ файлы? как создать сборку для старого проекта и использовать ее в другом проекте? Имеет ли смысл вставлять internal для использования класса в одном проекте Как сделать несколько задач в одном проекте? |
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
||||||
16.01.2020, 00:55 | 2 | |||||
Проект - это то что будет компилироваться
1. Вы что, хотите 2 скомпилированных файла для двух разных кодов? 2. Или вы хотите чтобы бесполезный код тупо не участвовал в компиляции, тогда созревает вопрос, зачем он там нужен? (но это сделать можно) Добавлено через 4 минуты 2 -
0
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
16.01.2020, 01:12 [ТС] | 3 |
AndryS1, хочу чтобы в одном проекте, для каждого файла .cpp был свой компилятор. Помню на 1 курсе ещё, на Linux когда работали с c++, мы просто файл создавали с расширением cpp и как-то через консоль запускали, но проектов не создавали.
0
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
16.01.2020, 01:15 | 4 |
Ну поздравляю, вы теперь можете понять в чём разница между компилятором (то что вы через консоль делали) и IDE
Для таких случаев как правило создают новые проекты, сомневаюсь что один проект может иметь несколько выводов
1
|
Заблокирован
|
||||||
16.01.2020, 01:41 | 5 | |||||
Можно так, двойные двоеточие комментарий
Откроем блокнот, вставим текст:
0
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
16.01.2020, 12:32 [ТС] | 6 |
AndryS1, значит создавая проект в visual studio, мы формируем для него отдельный компилятор? Насколько я понял, в c++ мы сразу пишем функцию (например int main()), и вызываем её, тогда можно создать будет создать в одном проекте несколько файлов, в котором содержатся разные имена функций, и просто через компилятор вызвать ту функцию, которая тебе нужна? Просто мне кажется нецелесообразно для маленьких программ с простой задачей, каждый раз под них создавать проект...
Добавлено через 3 минуты Денди, это на каком языке и в какую папку помещать?
0
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
16.01.2020, 14:55 | 8 |
компилятор - 1
а вот вывод разный, 1 проект - 1 бинарный файл (exe, dll) int main() - точка входа в твою программу, если ты её не определишь, компилятор выдаст ошибку "ссылка на неразрешённый внешний символ" В одном проекте не будет несколько разных бинарников! Добавлено через 32 секунды Это сценарии винды (batch)
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
16.01.2020, 15:23 | 9 |
Один Solution(решение) может в себе содержать кучу проектов, это нормально и удобно, и все в одном окне IDE
0
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
16.01.2020, 15:24 | 10 |
0
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
||||||
17.01.2020, 11:11 [ТС] | 12 | |||||
И такой еще момент, проект который содержит только эту функцию (но и плюс свои комментарии конечно примерно под 30 строк, хотя сомневаюсь что они как то значительно влияют на память):
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
21.01.2020, 11:49 | 13 |
Дак посмотри что много весит, и в какой папке, скорее всего это информация для intelliscence
0
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
21.01.2020, 13:51 [ТС] | 14 |
Raali, просто в проекте в папке .vs удаляю папку ipch и все. Она создается при компиляции. А можно как-то в самом visual studio удалять результаты компиляции, а то не совсем удобно каждый раз папку удалять?
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
24.01.2020, 10:20 | 15 |
Вот именно что это информация для intellisence, чтобы автозаполнение работало итд а не результаты компиляции
Просто понимаешь, у тебя когда ты вписываешь хедер, он за собой тянет еще кучу хедеров, а те еще кучу, без этого кеша у тебя бы автозаполнение начинало работать не сразу а после длительного времени
1
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
28.01.2020, 17:37 [ТС] | 16 |
Raali,
А можно какие-то команды в коде прописать, чтобы кэш после выполнения компиляции удалялся?
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
28.01.2020, 19:06 | 17 |
Файлы в проекте, это примерно тоже самое что модули в Питоне. Они не рассчитаны на запуск отдельно от какой либо программы.
IDE менять? Сейчас попробовал создать подобный проект в QtCreator, около сотни килобайт на все про все ушло. По крайней мере под пингвинами. Но расходы IDE едва ли зависят от операционки. Впрочем, exe-шник под Виндой все равно будет выходить большим, если без зависимостей от dll и плясок с бубном. Не сто мегабайт конечно, но к ста килобайтам нужно быть готовым. Разработчикам компиляторов вечно лень распилить реализацию стандартных библиотек на малые порции и они норовят всю STL к Hello World прицепить.
0
|
369 / 312 / 65
Регистрация: 14.10.2014
Сообщений: 1,319
|
|
28.01.2020, 21:21 | 18 |
SalavatGood, Есть такая среда разработки DevC++ называется, она отлично компилирует отдельные файлы, проект создавать необязательно. Создаёте исходный файл .cpp, пишете в нем всё, что вам надо, компилируете - PROFIT
0
|
14 / 13 / 1
Регистрация: 18.12.2018
Сообщений: 422
|
|
30.01.2020, 11:50 [ТС] | 19 |
В Питон в консоле достаточно прописать в консоли pip install <имя_модуля> и модуль установлен, а в C++ получется просто файл с библиотекой в какую-то папку проекта закинуть надо или как?
Добавлено через 58 секунд Recrut_rf, Dev C++ позволяет работать с многопоточностью?
0
|
369 / 312 / 65
Регистрация: 14.10.2014
Сообщений: 1,319
|
||||||
30.01.2020, 14:22 | 20 | |||||
Вот этот пример (да и все из справочника по STL) без проблем отрабатывают:
Кликните здесь для просмотра всего текста
Добавлено через 10 минут Или прописать зависимости в самой среде разработки - в настройках проекта (пути до включаемых файлов - .h, .cpp, .lib ) или в ручную в самом коде прописать - #include "путь до файла и название" - так же и с библиотеками (#pragama_lib - этой директивой по-моему подключают библиотеку). Лично я в ручную никогда не прописывал (h - файлы подключал, библиотеки -нет) так что не могу сказать как точно это делать. Всегда настраивал нужные зависимости в настройках проекта среды разработки.
1
|
30.01.2020, 14:22 | |
30.01.2020, 14:22 | |
Помогаю со студенческими работами здесь
20
Как объединить в одном проекте несколько форм? Как в проекте purebasic создать память, доступную для других внешних процессов? Как в одном проекте сделать два пространства имен? Как использовать два winsock контрола в одном проекте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |