2

Я недавно начал изучать C++ с помощью учебных пособий cplusplus.com. Хотя я хотел попытаться скомпилировать простой код, выдает «Hello World»; Он отлично работал для Linux, но я должен открыть его через консоль, чтобы он работал, я не могу просто дважды щелкнуть его, даже если я установил его как «исполняемый». Мне все равно, с тех пор, когда Linux был прост. Но тогда я хотел создать приложение для Windows в C++, простое приложение Hello World Console. Проблема в том, что если я скомпилирую файл, я должен получить к нему доступ через консоль Windows, чтобы он работал, но я не хочу этого.C++ Compiling Confusion

1- Как я могу сделать код автоматически открытым CMD и запустить?

2- Нужно ли составлять код отдельно в Windows? или я могу скомпилировать его в Linux с помощью компилятора G ++?

3- Пожалуйста, объясните мне основные идеи компиляции и как сделать автоматический запуск кода в консоли/терминале.

С уважением, RonnyM

+0

Какой компилятор, так как их много? Как вы ссылаетесь на свой компилятор? Пожалуйста, отредактируйте свой пост с этими ответами. –

+0

вы можете скомпилировать его с g ++ в windows. Если его простой C++ (нет внешних библиотек). Настройте dev os (linux) и время от времени запускайте его в окнах для тестирования. – adderly

+0

Вам нужно скомпилировать его отдельно, потому что базовый API и исполняемый формат отличаются. Для Windows, дважды щелкнув консольное приложение, откроется окно консоли, хотя оно будет немедленно закрыто, когда программа завершит выполнение, что не очень удобно, когда вы хотите прочитать выход программы - либо запустите его из cmd, либо подождите для ввода (например, 'getch()') перед завершением. – riv

ответ

0

Если я правильно понимаю ваш вопрос, я могу ответить на некоторые ваши вопросы. Я думаю, что могу прокомментировать ваши вопросы, но я не знаю, как, поэтому я отвечу вам здесь.

  1. Иногда люди создают пакетные файлы для выполнения последовательности команд последовательно.

  2. Да, вы должны составлять отдельно. Исполняемые файлы представляют собой PE (Portable Executable) под Windows и являются ELF (Executable Linkable Format), поэтому компилятор генерирует разные форматы исполняемых файлов в разных ОС. Есть также некоторые различия в отношении связывания библиотек, у разных систем есть разные библиотеки, поэтому компилятор знает, какие из них использовать. Иногда вы можете конвертировать различные форматы исполняемых файлов, вы можете google «PE VS ELF», у вас будет много информации об этом.

  3. Компиляция - это процесс, который преобразует ваш код в двоичные файлы, которые могут выполняться на вашем оборудовании. И что вы подразумеваете под управлением авто? Вы имеете в виду, как бинарные файлы начинают выполняться?

+0

Спасибо, Это было действительно полезно, но для части 3: Я имел в виду, что если я запустил проект консоли в своей среде IDE и скомпилировал его (в окнах), он автоматически откроет консоль и запустит мой код, если Я удваиваю щелкните скомпилированный EXE-файл, который был создан? – RonnyM