Как создать ехе файл для запуска программы

HomeLisp (по крайней мере в предлагаемой версии) не способен компилировать Лисп-код в команды микропроцессора. Поэтому для создания автономных исполняемых файлов применяется технология, которую можно условно назвать псевдо-EXE.

Суть этой технологии состоит в следующем.

В поставку HomeLisp входит исполняемый файл-заглушка, в составе которого содержится ядро HomeLisp. Объем этого файла составляет около двухсот килобайт. При создании EXE-файла сначала делается копия файла-заглушки с именем, которое задает разработчик. Все дальнейшие манипуляции выполняются с созданной копией, которую далее будем называть целевым файлом.

Предположим, что разработчик написал и загрузил ряд функций, которые в совокупности составляют приложение. При создании EXE-файла, все выбранные разработчиком функции приписываются в «хвост» целевого файла. Кроме этих функций, в «хвост» целевого файла записывается т.н. стартовое S-выражение, а также задаваемые пользователем настройки среды HomeLisp (размеры внутренних стеков, количество динамических объектов и т.д.)

Как создать Setup.exe

При запуске целевого файла управление получает сначала программа инициализации ядра HomeLisp, которая затем считывает из файла все сохраненные пользователем функции и загружает их в среду Лиспа. После этого управление получает блок стартового S-выражения, и предусмотренная разработчиком программа начинает исполняться.

Рассмотрим процесс создания EXE-файла на простом практическом примере: создадим диалоговую программу, которая будет вычислять наибольший общий делитель двух целых чисел с помощью алгоритма Евклида. Пример этот не так уж бесполезен: поскольку HomeLisp работает с целыми неограниченной разрядности, написание аналогичного примера в любой расхожей среде программирования (VB,C++,Delphi) потребовала бы заметных усилий.

Функция *GCD имеет следующий вид:

(defun *gcd (x y) (cond ((eq x y) x) ((greaterp y x) (*gcd y x)) ((eq (remainder x y) 0) y) (T (*gcd y (remainder x y))))) ==> *gcd (*gcd 655 72) ==> 1 (*gcd 655 75) ==> 5 (*gcd 65536 4096) ==> 4096

Запрос (посредством функции ASK) первого операнда;

Запрос второго операнда;

Отображение результата с помощью функции SAY;

Напишем определяющее выражение для функции GCD-1, в котором будет реализован приведенный выше алгоритм:

(defun GCD-1 nil (prog (a1 a2) (setq a1 (str2fix (Ask «Введите первый операнд»))) (setq a2 (str2fix (Ask «Введите второй операнд»))) (TRY (say (fix2str (*gcd a1 a2))) EXCEPT (say «Ошибка!») ) ) )

Далее, поскольку готовится диалоговая программа, предназначенная для конечного пользователя, следует предусмотреть возможные ошибки. Именно поэтому вычисление наибольшего общего делителя сделано критическим участком кода с помощью вызова функции TRY Если в процессе вычисления произойдет сбой, программа не «упадет», а будет выдано сообщение «Ошибка!».

Если выполнить функцию GCD-1 из среды разработки, то сначала будет выведено окно запроса первого операнда:

Как создать exe файл Python

Пользователь вводит первый операнд и нажимает кнопку OK; появляется окно запроса второго операнда:

Пользователь вводит второй операнд, нажимает кнопку OK и получает результат:

Теперь построим на основе отлаженной функции GCD-1 исполняемый файл. Для этого, находясь в среде разработки выберем пункт главного меню EXE-файл или нажмем кнопку на панели инструментов со следующей иконкой:

В обоих случаях будет открыто окно построения EXE-файла:

Чтобы создать EXE-файл, необходимо выполнить следующие действия:

Задать имя EXE-файла. Имя (и путь) будущего EXE-файла задаются в комбинированном поле ввода в левом верхнем углу формы создания EXE-файла. Имя и путь можно задать вручную, а можно нажать кнопку «. » и выбрать директорию и имя с помощью стандартного диалога Сохранить как. По умолчанию создается файл noname.exe в текущей директории.

В области ввода «Стартовое S-выражение» необходимо задать код, с которого начнется выполнение будущего приложения. Стартовое S-выражение может быть вызовом функции. Если требуется задать стартовое S-выражение, состоящее из нескольких вызовов, то эти вызовы следует «заключить» в PROG-конструкцию.

Перечисленные действия являются минимально-необходимыми. Кроме того, дополнительно пользователь может выполнить следующее:

В списке, озаглавленном «Функции, константы, переменные», сбросить флажки, стоящие против объектов, наличие которых для выполнения приложения не является необходимым. Это мероприятие несколько повысит скорость выполнения приложения;

Изменить значения настроечных параметров в списке, расположенном в правом верхнем углу. Последовательность действий при замене значений параметров будет описана ниже;

Сбросить флажок «Отображать диспетчерскую форму при старте». Если этот флажок оставить поднятым, то при запуске приложения будет отображаться специальная диспетчерская форма. Этой форме можно задать заголовок (в соответствующем поле ввода). Использование диспетчерской формы удобно при отладке.

Установить или сбросить флажок «Сообщать о завершении». Если этот флажок установлен, то перед завершением приложения будет выдано сообщение.

Окно создания EXE-файла с минимально-необходимым набором параметров может иметь вид:

Далее необходимо нажать кнопку с изображением зеленой галочки. Если заказанный EXE-файл уже существует, HomeLisp предолжит подтвердить перезапись файла или задать новое имя. После чего, при успешном завершении, выдается сообщение:

Можно убедиться, что в текущей директории пявился EXE-файл gcd-1.exe, при запуске которого происходит описанный выше диалог с пользователем.

Если же при создании EXE-файла поднять флажок «Отображать диспетчерскую форму при старте» и задать заголовок формы:

то при исполнении полученного EXE-файла, в правом верхнем углу экрана отображается диспетчерская форма следующего вида:

При выборе пункта меню «Пуск» (или нажатии соответствующей кнопки, расположенной ниже), начинает выполняться приложение. После завершения приложения, диспетчерская форма остается на экране, что позволяет запускать приложение многократно. Для окончательного завершения приложения нужно выбрать пункт меню «Выход» (или нажать кнопку, расположенную ниже).

Если в процессе выполнения приложения с диспетчерской формой возникает ошибка, то информация об ошибке выводится в область вывода, которая в нормальном состоянии скрыта. Например, если сделать стартовым S-выражением вызов несуществующей функции (unknown) , то при выполнении возникнет картинка, приведенная ниже:

Использование диспетчерской формы позволяет принудительно остановить выполнение приложения. Для этого служит пункт меню «Стоп» и кнопка, расположенная ниже (и пункт меню, и кнопка активны только в процессе выполнения приложения). Если в качестве стартового выражения задать, например, вычисление факториала достаточно большого числа, то можно успеть увидеть пункт меню и кнопку останова:

Читайте также:
Для чего предназначена программа Microsoft

Если в процессе выполнения нажать «Стоп», то выполнение программы прерывается:

Пункт главного меню «Окна» диспетчерской формы (и соответствующая командная кнопка) будут активны в случае, когда в процессе выполнения приложения создано хотя бы одно графическое окно. При выборе пункта «Окна» (или нажатии на кнопку, расположенную ниже), вызывается менеджер графических окон.

Режим построения EXE-файлов с диспетчерской формой предназначен для облегчения отладки приложений. Если не использовать диспетчерскую форму, то управлять графическими окнами должен будет сам разработчик, а в случае «зависания» приложения для его снятия придется использовать диспетчер задач ОС.

При необходимости изменить значение какого-либо настроечного параметра (размер стека, число лексем и т.д.) необходимо щелкнуть мышью по нужно строке списка «Параметры». Числовое значение соответствующего параметра будет перенесено в область ввода, расположенную под списком:

Далее следует исправить значение параметра и нажать кнопку с изображением стрелки, направленной вверх. Значение параметра будет исправлено:

В качестве второго примера создания EXE-файла, рассмотрим прежнюю задачу (вычисление НОД), но с оконным графическим интерфесом. Для этого создадим диалог (как описано здесь), на форме которого разместим три метки, три поля ввода и две кнопки. Назначим одной из кнопок процедуру-обработчик, в котором вычислим НОД чисел, введенных в первое и второе поля ввода и занесение вычисленного НОД в поле результата. Обработчик нажатия второй кнопки будет закрывать и уничтожать диалог. Форма диалога с элементами управления может иметь вид, приведенный ниже:

Программный код, сгенерированный дизайнером, может иметь такой вид:

(prog nil (dlgCreate ‘_Dlg_ 419 233 «Наибольший общий делитель:») (dlgAddControl ‘_Dlg_ ‘_LBL_1 _LABEL 14 15 100 21 ‘(«Tahoma» 14,25 1 0 0) «Первое:» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_1 _TEXT 155 13 248 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_LBL_2 _LABEL 12 59 133 26 ‘(«Tahoma» 14,25 1 0 0) «Второе:» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_2 _TEXT 156 56 247 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_LBL_3 _LABEL 13 101 127 27 ‘(«Tahoma» 14,25 1 0 0) «Н.О.Д.» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_3 _TEXT 157 98 247 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_BUT_1 _BUTTON 24 148 180 50 ‘(«Tahoma» 8,25 1 0 0) «Вычислить») (dlgPutPicture ‘_BUT_1 7) (dlgAddControl ‘_Dlg_ ‘_BUT_2 _BUTTON 213 149 180 50 ‘(«Tahoma» 8,25 1 0 0) «Закрыть») (dlgPutPicture ‘_BUT_2 36) // // Обработчик события CLICK для кнопки _BUT_2 // (defun _BUT_2_Click Nil (prog Nil (dlgHide ‘_DLG_) (dlgDestroy ‘_DLG_) (gc) ) ) // // Назначение процедуры-события _BUT_2_Click контролу _BUT_2 // (dlgSetEvent ‘_BUT_2 ‘_BUT_2_Click ) // // Обработчик события CLICK для кнопки _BUT_1 // (defun _BUT_1_Click Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText ‘_TXT_1))) (setq a2 (str2fix (dlgGetText ‘_TXT_2))) (TRY (dlgPutText ‘_TXT_3 (fix2str (*gcd a1 a2))) EXCEPT (dlgPutText ‘_TXT_3 «Ошибка. «) ) ) ) // // Назначение процедуры-события _BUT_1_Click контролу _BUT_1 // (dlgSetEvent ‘_BUT_1 ‘_BUT_1_Click ) // // Отображение диалога _Dlg_ // (dlgShow ‘_Dlg_) )
// // Поиск наибольшего общего делителя // (defun *gcd (x y) (cond ((eq x y) x) ((greaterp y x) (*gcd y x)) ((eq (remainder x y) 0) y) (T (*gcd y (remainder x y))))) // // Программа отображения диалога _Dlg_ // (defun main nil (prog nil (dlgCreate ‘_Dlg_ 419 233 «Наибольший общий делитель:») (dlgAddControl ‘_Dlg_ ‘_LBL_1 _LABEL 14 15 100 21 ‘(«Tahoma» 14,25 1 0 0) «Первое:» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_1 _TEXT 155 13 248 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_LBL_2 _LABEL 12 59 133 26 ‘(«Tahoma» 14,25 1 0 0) «Второе:» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_2 _TEXT 156 56 247 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_LBL_3 _LABEL 13 101 127 27 ‘(«Tahoma» 14,25 1 0 0) «Н.О.Д.» 0 H8000000F) (dlgAddControl ‘_Dlg_ ‘_TXT_3 _TEXT 157 98 247 31 ‘(«Tahoma» 14 1 0 0) «» 0 H80000005) (dlgAddControl ‘_Dlg_ ‘_BUT_1 _BUTTON 24 148 180 50 ‘(«Tahoma» 8,25 1 0 0) «Вычислить») (dlgPutPicture ‘_BUT_1 7) (dlgAddControl ‘_Dlg_ ‘_BUT_2 _BUTTON 213 149 180 50 ‘(«Tahoma» 8,25 1 0 0) «Закрыть») (dlgPutPicture ‘_BUT_2 36) // // Обработчик события CLICK для кнопки _BUT_2 // (defun _BUT_2_Click Nil (prog Nil (dlgHide ‘_DLG_) (dlgDestroy ‘_DLG_) (gc) ) ) // // Назначение процедуры-события _BUT_2_Click контролу _BUT_2 // (dlgSetEvent ‘_BUT_2 ‘_BUT_2_Click ) // // Обработчик события CLICK для кнопки _BUT_1 // (defun _BUT_1_Click Nil (prog (a1 a2) (setq a1 (str2fix (dlgGetText ‘_TXT_1))) (setq a2 (str2fix (dlgGetText ‘_TXT_2))) (TRY (dlgPutText ‘_TXT_3 (fix2str (*gcd a1 a2))) EXCEPT (dlgPutText ‘_TXT_3 «Ошибка. «) ) ) ) // // Назначение процедуры-события _BUT_1_Click контролу _BUT_1 // (dlgSetEvent ‘_BUT_1 ‘_BUT_1_Click ) // // Отображение диалога _Dlg_ // (dlgShow ‘_Dlg_) ) )

то получится вполне работоспособный EXE-файл. Его можно запустить, и убедиться, что НОД считается верно:

Источник: homelisp.ru

Пошаговое руководство. Компиляция собственной программы на языке C++ из командной строки

Visual Studio включает в себя командную строку C и компилятор C++. Его можно использовать для создания всех элементов — от базовых консольных приложений до приложений универсальной платформы Windows, классических приложений, драйверов устройств и компонентов .NET.

В этом пошаговом руководстве приводятся инструкции по созданию программы на языке C++ в стиле «Hello, Wolrd» в текстовом редакторе с последующей компиляцией из командной строки. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо командной строки, см. статью Пошаговое руководство. Работа с проектами и решениями (C++) или Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++.

В этом пошаговом руководстве вместо ввода показанного кода можно использовать собственную программу на языке C++. Также можно использовать пример кода C++ из другой статьи справки.

Предварительные требования

Для выполнения этого пошагового руководства необходимо установить Visual Studio и дополнительную рабочую нагрузку Разработка настольных приложений на C++ или Build Tools командной строки для Visual Studio.

Visual Studio — интегрированная среда разработки (IDE). Она поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Доступные версии включают бесплатный выпуск Visual Studio Community Edition, и все они могут поддерживать разработку на C и C++. Сведения о скачивании и установке Visual Studio см. в статье Установка поддержки C++ в Visual Studio.

Читайте также:
Как поменять картинку программы на рабочем столе

Build Tools для Visual Studio устанавливают только средства, библиотеки и компиляторы командной строки, необходимые для сборки программ C и C++. Это идеальный вариант для создания заданий и упражнений, а установка выполняется относительно быстро. Чтобы установить только средства командной строки, найдите Build Tools для Visual Studio на странице загрузки Visual Studio.

Прежде чем можно будет выполнить сборку программ C или C++ в командной строке, убедитесь, что эти средства установлены и к ним можно получить доступ из командной строки. Visual C++ имеет сложные требования к среде командной строки для поиска используемых средств, заголовков и библиотек. Visual C++ нельзя использовать в простом окне командной строки без предварительной подготовки.

К счастью, Visual C++ устанавливает ярлыки для запуска командной строки разработчика, для которой настроена среда для сборок из командной строки. К сожалению, имена ярлыков командной строки разработчика и места их расположения отличаются практически во всех версиях Visual C++ и в различных версиях Windows. Первая задача пошагового руководства — найти нужную командную строку.

Ярлык командной строки разработчика автоматически задает правильные пути для компилятора и средств, а также для всех необходимых заголовков и библиотек. Эти значения среды необходимо задавать самостоятельно, если используется обычное окно командной строки. Дополнительные сведения см. в статье Использование набора инструментов MSVC из командной строки. Рекомендуется использовать ярлык командной строки разработчика вместо создания собственного.

Открытие командной строки разработчика

  1. Если вы установили Visual Studio 2017 или более поздней версии в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio (не приложение Visual Studio). Выберите элемент Командная строка разработчика для VS, чтобы открыть окно командной строки. Если вы установили Microsoft Visual C++ Build Tools 2015 в Windows 10 или более поздней версии, откройте меню Пуск и выберите Все приложения. Прокрутите вниз и откройте папку Microsoft Visual C++ Build Tools. Выберите элемент Командная строка Native Tools x86 Visual C++ 2015, чтобы открыть окно командной строки. Можно также ввести «командная строка разработчика» в строке поиска в Windows и выбрать командную строку, которая соответствует установленной версии Visual Studio. Откройте окно командной строки с помощью ярлыка.
  2. Затем убедитесь в том, что командная строка разработчика Visual C++ настроена правильно. В окне командной строки введите cl и убедитесь в том, что выходные данные выглядят примерно так:

C:Program Files (x86)Microsoft Visual Studio2017Enterprise>cl Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. usage: cl [ option. ] filename. [ /link linkoption. ]

Возможно, существуют различия в текущем каталоге или номерах версий. Эти значения зависят от версии Visual C++ и установленных обновлений. Если приведенный выше результат похож на отображаемый, можно приступать к сборке программ C или C++ в командной строке.

Примечание Если при выполнении команды cl появляется сообщение о том, что «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», или возникают ошибки C1034 или LNK1104, дело в том, что вы не используете командную строку разработчика или что-то не так с установкой Visual C++. Для продолжения нужно будет исправить ошибку.

Если вы не можете найти ярлык командной строки разработчика или при вводе cl появляется сообщение об ошибке, возможно, возникла проблема с установкой Visual C++. Попробуйте переустановить компонент Visual C++ в Visual Studio или Microsoft Visual C++ Build Tools. Не переходите к следующему разделу, пока команда cl не сработает. Дополнительные сведения об установке Visual C++ и устранении неполадок см. в статье Установка Visual Studio.

Примечание В зависимости от версии Windows, установленной на компьютере, и конфигурации системы безопасности может потребоваться правой кнопкой мыши открыть контекстное меню для ярлыка командной строки разработчика и выбрать пункт Запуск от имени администратора, чтобы успешно выполнить сборку и запуск программы, созданной в этом пошаговом руководстве.

Создание файла исходного кода на языке Visual C++ и его компиляция из командной строки

  1. В окне командной строки разработчика введите md c:hello , чтобы создать каталог, а затем введите cd c:hello , чтобы перейти к этому каталогу. В этом каталоге создаются файл исходного кода и скомпилированная программа.
  2. В окне командной строки введите notepad hello.cpp . Когда Блокнот предложит создать файл, выберите Да. Откроется пустое окно Блокнота, в котором можно ввести код для файла hello.cpp.
  3. В окне блокнота введите следующие строки кода:

#include using namespace std; int main()
c:hello>dir Volume in drive C has no label. Volume Serial Number is CC62-6545 Directory of c:hello 05/24/2016 05:36 PM . 05/24/2016 05:36 PM .. 05/24/2016 05:37 PM 115 hello.cpp 1 File(s) 115 bytes 2 Dir(s) 571,343,446,016 bytes free
Даты и некоторые другие данные будут отличаться на вашем компьютере.

Примечание Если файл исходного кода hello.cpp не отображается, убедитесь, что текущий рабочий каталог в командной строке — это созданный вами каталог C:hello . Это должен быть каталог, в который вы сохранили файл исходного кода. Также убедитесь, что файл исходного кода был сохранен с расширением имени файла .cpp , а не .txt . Если открыть Блокнот из командной строки с помощью команды notepad hello.cpp , файл исходного кода автоматически сохраняется в текущем каталоге в виде файла .cpp . Если Блокнот открыть другим способом, его поведение также будет другим.

По умолчанию Блокнот добавляет расширение .txt в новые файлы при их сохранении. Кроме того, файлы по умолчанию сохраняются в каталоге Документы. Чтобы сохранить файл с расширением .cpp в Блокноте, выберите Файл>Сохранить как.

Читайте также:
Thrustmaster ferrari gt experience программа для настройки

В диалоговом окне Сохранение файла перейдите к папке C:hello в элементе управления иерархического представления каталогов. Затем используйте раскрывающийся список Сохранить как тип, чтобы выбрать Все файлы (*.*). Введите hello.cpp в элемент управления «Поле ввода» Имя файла и нажмите кнопку Сохранить, чтобы сохранить файл.

c:hello>cl /EHsc hello.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.cpp Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj

Примечание Если вы получаете сообщение об ошибке, например «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», ошибке C1034 или LNK1104, командная строка разработчика настроена неправильно. Чтобы получить сведения о том, как устранить эту проблему, вернитесь к разделу Открыть командную строку разработчика.

Примечание Если вы получаете другое сообщение об ошибке или предупреждение компилятора или компоновщика, проверьте исходный код, исправьте ошибки, сохраните его и снова запустите компилятор. Для получения сведений о конкретных ошибках введите номер ошибки в поле поиска.

Hello, world, from Visual C++!

Следующие шаги

Этот пример «Hello, World» является самой простой программой C++. Реальные программы обычно имеют файлы заголовков, дополнительные исходные файлы и ссылки на библиотеки.

Вы можете использовать шаги, описанные в этом пошаговом руководстве по C++, для создания собственного кода, чтобы не вводить приведенный пример. Эти шаги также позволяют собрать множество примеров кода C++, которые можно найти в других местах. Вы можете разместить исходный код и собрать приложения в любом доступном для записи каталоге. По умолчанию интегрированная среда разработки Visual Studio создает проекты в папке пользователя во вложенной папке sourcerepos . Более старые версии могут помещать проекты в папку DocumentsVisual Studio Projects .

Чтобы скомпилировать программу с дополнительными файлами исходного кода, введите их все в командной строке, например:

cl /EHsc file1.cpp file2.cpp file3.cpp

Параметр командной строки /EHsc указывает компилятору на необходимость стандартной обработки исключений C++. В противном случае созданные исключения могут привести к неуничтоженным объектам и утечкам ресурсов. Дополнительные сведения см. в статье /EH (модель обработки исключений).

При указании дополнительных исходных файлов компилятор использует первый входной файл для создания имени программы. В этом случае выводится программа с именем file1.exe. Чтобы изменить имя на program1.exe, добавьте параметр компоновщика /out:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Чтобы автоматически перехватывать другие ошибки программирования, рекомендуется выполнить компиляцию с помощью порога предупреждений /W3 или /W4:

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

В компиляторе cl.exe есть множество дополнительных параметров. Их можно применять для создания, оптимизации, отладки и анализа кода. Чтобы просмотреть краткий список, введите cl /? в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах компилятора и компоновщика и их использовании см. в справочнике по созданию C/C++.

Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile, MSBuild и файл проекта или CMake. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE, MSBuild и Проекты CMake в Visual Studio.

Языки C и C++ похожи, но имеют различия. Компилятор MSVC использует простое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает файлы с расширением .c как исходные файлы на языке С, а файлы с расширением .cpp — как исходные файлы на языке С++. Если указан параметр компилятора /TP, компилятор будет рассматривать все файлы как исходные файлы на языке С++ вне зависимости от расширения.

Компилятор MSVC содержит библиотеку времени выполнения C (CRT), которая соответствует стандарту ISO C99 с небольшими исключениями. Переносимый код обычно компилируется и выполняется, как ожидалось. Некоторые устаревшие функции библиотеки и несколько имен функций POSIX не рекомендуется использовать в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.

Источник: learn.microsoft.com

BAT 2 EXE и Bat To EXE, или как создать из BAT-скрипта исполняемый EXE-файл

Использование готовых пакетных файлов является прекрасной альтернативой ручному выполнению команд в командной строке. Однако в некоторых случаях пользователи могут столкнуться с ограничениями применения скриптов форматов CMD или BAT . Обойти это ограничение можно, сконвертировав скрипт в исполняемый файл формата EXE . Полученный экзешник выполняет те задачи, что и скрипт, хотя сам процесс исполнения может отличаться.

Например, если EXE -файл выполняется в фоновом режиме, пользователь не сможет получить данные, которые при выполнении CMD -скрипта должны выводиться в графическом интерфейсе командной строки. Но как правило, с подобным явлением приходится встречаться редко, тем более, что скрипт может быть изменен таким образом, что данные будут выводится вне консоли.

Bat To Exe Converter

Утилит, предназначенных для конвертирования «батников» существует достаточно много. Если вы опытный пользователь, имеющий представление о языке интерпретатора CMD (хотя в целом знать его необязательно) , вам подойдёт утилита Bat To EXE. Если же вы собираетесь ограничиться простым конвертированием пакетного файла, воспользуйтесь портативной тулзой BAT 2 EXE.

BAT 2 EXE

Bat To EXE поддерживается конвертирование, создание и редактирование скриптов отдельно до 32- и 64-битных систем, добавление в исполняемый файл иконки, дополнительных сведений о версии, реализация возможности запуска EXE -файла с правами администратора, а также выполнение в фоновом (скрытом) режиме. BAT 2 EXE намного проще. По большому счету всё что умеет делать инструмент, это преобразовывать BAT- и CMD -скрипты в EXE -файлы.

BAT 2 EXE

После первого запуска утилита попросит указать каталог с конвертируемым скриптом и запросит разрешение на выполнение процедуры. Чтобы начать процесс конвертирования батника, ведите в консольном интерфейсе BAT 2 EXE «y» и нажмите ввод. Также потребуется указать выходной каталог для сохранения результата. Полученный экзешник будет иметь то же имя, что и скрипт.

Источник: www.white-windows.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru