Ответ 1
Для компиляции просто создайте файл cpp. и используйте инструмент командной строки cl
, проверьте Ссылка MSDN: скомпилируйте собственную программу С++ из командной строки В ней есть пример cl /EHsc simple.cpp
Я изучаю С++ из книги и использую Visual Studio 2012. Чтобы следовать упражнениям книги, мне нужно сделать несколько .cpp файлов с функцией main() внутри них. Можно ли каким-либо образом компилировать/отлаживать мои программы без создания нового проекта каждый раз?
Например, если я пишу простой "Hello, World!" и затем решите сделать что-то еще, что действительно просто, могу ли я избежать создания нового проекта для каждой простой программы? Есть ли способ использовать Visual Studio 2012 как компилятор? Мне бы это понравилось, если бы я мог просто иметь все в одном проекте, где я мог бы скомпилировать любой отдельный файл, который мне нужен, и посмотреть, как он работает.
Спасибо за вашу помощь.
Для компиляции просто создайте файл cpp. и используйте инструмент командной строки cl
, проверьте Ссылка MSDN: скомпилируйте собственную программу С++ из командной строки В ней есть пример cl /EHsc simple.cpp
Хотя слишком поздно добавлять этот ответ, но он может быть полезен будущим зрителям. Это то, что я сделал -
При попытке выяснить, как использовать Visual Studio для той же цели, которую вы задали, я заметил и обнаружил, что для проекта С++ должна быть только одна начальная точка, то есть только одна функция main()
.
Итак, вместо создания нового проекта каждый раз просто меняйте имя (main()
) в неиспользуемых файлах С++ на что-то еще, например, имя файла или что-то еще.
Например, я сначала создал свою первую программу hello_world.cpp
с помощью функции main()
, а затем скомпилировал ее, запустил и изучил все, что мог.
Но теперь я хочу создать новый файл для поиска какой-то другой новой вещи (новый файл learn_operators.cpp
с собственной функцией main()
).
Итак, прежде чем пытаться скомпилировать и запустить learn_operators.cpp
, я изменю имя main()
в hello_world.cpp
, скажем, hello_world()
, а затем создаст и запустим проект таким же образом, как и раньше, но на этот раз будет запускаться только этот новый файл, поскольку это (новая) начальная точка для проекта (то есть включает функцию main()
).
Надеюсь, что это поможет и исправит меня, если я где-то не прав.
Вы можете добавить все файлы cpp в один и тот же проект с разными именами файлов, затем вы можете щелкнуть правой кнопкой мыши по каждому файлу и исключить файлы, которые вы не хотите создавать.
Гораздо лучше иметь проект на приложение.
В качестве альтернативы вы можете иметь один основной файл, который вызывает ваши другие функции в других файлах, где вы выполняете упражнения, тогда вам не нужно ничего разбираться, просто выполните новые упражнения в новом файле и вызовите его из основного.
Вы также можете использовать условную компиляцию для решения этой проблемы. Но я действительно рекомендую вам приложить усилия для создания нового проекта для каждой программы.
header.h
#include<iostream>
#define __HelloWorld__
helloworld.cpp
#include"header.h"
#ifdef __HelloWorld__
int main() {
std::cout << "Hello World" << std::endl;
}
#endif
program2.cpp
#include"header.h"
#ifdef __program2__
int main() {
std::cout << "Program 2" << std::endl;
}
#endif
Теперь вы можете выбрать через #define
программу, которую вы хотите запустить.
Вы настроены!
Если вы щелкните правой кнопкой мыши по имени решения в окне браузера проекта на правой панели, вы сможете добавлять проекты под свой существующий. Однако лучше начать новый проект для каждого упражнения. Здесь есть ссылка для вас.