Пошаговое руководство. компиляция собственной программы на языке c++ из командной строкиwalkthrough: compiling a native c++ program on the command line

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».

Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

Что такое PsExec и PsTools

На самом деле, PsExec это всего лишь один из инструментов из пакета PsTools. Программа PsExec используется чаще всего, поэтому обычно упоминается она, но в данной инструкции будут рассмотрены как примеры использования PsExec, так и примеры использования других инструментов из пакета PsTools.

Состав PsTools:

  • PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
  • PsFile используется для вывода списка удалённо открытых файлов
  • PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
  • PsInfo используется для получения подробной информации об удалённой системе
  • PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
  • PsList используется для детального отображения процессов в удалённой системе
  • PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
  • PsLogList, используемый для отображения журналов событий на удалённых системах
  • PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
  • PsPing используется для пинга из удалённой системы
  • PsServervice используется для перечисления и управления службами Windows в удалённой системе
  • PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
  • PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
  • PsUptime используется для отображения времени работы удалённой системы

Настройка автозапуска

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

ПО с автозапуском

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

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

ПО без автозапуска

Если нужного нам параметра нет в настройках, поступаем следующим образом. Находим программу, используя поиск. Вызываем контекстное меню и переходим к расположению файла.

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

Воспользуемся командой «shell:startup» для запуска дополнительного окна «Проводника». Чтобы добавить приложение в автозагрузку, переносим созданный ярлык в открытую директорию. Теперь в диспетчере задач мы найдем оба добавленных разными способами приложения.

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

Устранение неполадокTroubleshooting

Код может содержать ошибки, но если он правильный, однако зависит от других сборок или пакетов NuGet или был ориентирован на другую версию .NET, вы можете легко исправить это.Your code might have errors, but if the code is correct, but just depends on some other assemblies or NuGet packages, or was written to target a different version of .NET, you might be able to easily fix it.

Добавление ссылокAdd references

Для успешной сборки код должен быть правильным и иметь правильные ссылки на библиотеки или другие зависимости.To build properly, the code must be correct and have the right references set up to libraries or other dependencies. Наличие ошибок в программе до ее компиляции или запуска можно определить по наличию красных волнистых линий, а также в окне Список ошибок.You can look at the red squiggly lines and at the Error List to see if the program has any errors, even before you compile and run it. Если возникают ошибки, связанные с неразрешенными именами, возможно, потребуется добавить ссылку и (или) директиву using.If you’re seeing errors related to unresolved names, you probably need to add a reference or a using directive, or both. Если код ссылается на любые сборки или пакеты NuGet, необходимо добавить эти ссылки в проект.If the code references any assemblies or NuGet packages, you need to add those references in the project.

Visual Studio пытается помочь определить отсутствующие ссылки.Visual Studio tries to help you identify missing references. Если имя не разрешено, в редакторе появляется значок лампочки.When a name is unresolved, a light bulb icon appears in the editor. Если щелкнуть лампочку, можно увидеть некоторые рекомендации по устранению проблемы.If you click the light bulb, you can see some suggestions on how to fix the issue. Возможные исправления:Fixes might be to:

  • добавление директивы using;add a using directive
  • добавление ссылки на сборку;add a reference to an assembly, or
  • установка пакета NuGet.install a NuGet package.

Отсутствующая директива usingMissing using directive

Например, на следующем экране можно добавить в начало файла кода, чтобы разрешить неразрешенное имя :For example, in the following screen, you can choose to add to the start of the code file to resolve the unresolved name :

Отсутствующая ссылка на сборкуMissing assembly reference

Ссылки .NET принимать форму сборок или пакетов NuGet..NET references can be in the form of assemblies or NuGet packages. Как правило, если вы находите исходный код, издатель или автор поясняет, какие сборки необходимы и от каких пакетов зависит код.Usually, if you find source code, the publisher or author will explain what assemblies are required and what packages the code depends on. Чтобы добавить ссылку на проект вручную, щелкните правой кнопкой мыши узел Ссылки в обозревателе решений, выберите Добавить ссылку и укажите нужную сборку.To add a reference to a project manually, right-click on the References node in the Solution Explorer, choose Add Reference, and locate the required assembly.

Вы можете найти сборки и добавить ссылки, следуя инструкциям в разделе Добавление и удаление ссылок с помощью диспетчера ссылок.You can find assemblies and add references by following the instructions in Add or remove references by using the reference manager.

Отсутствующий пакет NuGetMissing NuGet package

Если Visual Studio обнаруживает отсутствующий пакет NuGet, появляется лампочка, позволяющая установить его:If Visual Studio detects a missing NuGet package, a light bulb appears and gives you the option to install it:

Если это не решает проблему и Visual Studio не удается найти пакет, попробуйте выполнить поиск в Интернете.If that doesn’t solve the issue and Visual Studio can’t locate the package, try searching for it online. См. раздел Установка и использование пакета NuGet в Visual Studio.See Install and use a NuGet package in Visual Studio.

Как запустить командный файл в Windows 10

В Windows 10 вы можете запустить командный файл как минимум тремя способами. Вы можете запустить пакет по требованию, используя проводник или командную строку. Вы можете создать запланированное задание с помощью планировщика заданий. Или вы можете поместить скрипт в папку «Автозагрузка», чтобы запускать его каждый раз при входе в устройство.

Запуск пакетного файла по требованию

Если вам нужно запустить скрипт по требованию, вы можете использовать проводник или командную строку.

Проводник

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

  1. Откройте проводник.
  2. Найдите папку со сценарием.
  3. Дважды щелкните командный файл, чтобы запустить его.
  4. (Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав опцию Запуск от имени администратора.

После того, как вы выполните шаги, пакет будет выполнять каждую команду в последовательности, отображая результаты в терминале.

Командная строка

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

  1. Откройте командную строку от имени администратора.
  2. Введите путь и название командного файла и нажмите Enter:
    C:\PATH\TO\FOLDER\BATCH-NAME.bat

    Например, следующая команда запускает пакетный файл, расположенный в пользовательской папке «batch» внутри папки «Downloads»:

    C:\Users\user\Documents\scripts\first_batch.bat

После того, как вы выполните эти шаги, выходные данные будут отображаться на экране, даже если скрипт содержит команду «PAUSE».

Запуск пакетного файла по расписанию

Чтобы запланировать запуск пакетного файла в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:

  1. Откройте Пуск.
  2. Введите планировщик заданий и щелкните по верхнему результату, чтобы открыть приложение.
  3. Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите опцию Создать папку….
  4. Введите имя для папки – например, MyScripts.

    Необязательно создавать папку, но рекомендуется организовать ваши задачи.

  5. Нажмите кнопку ОК.
  6. Щелкните правой кнопкой мыши папку MyScripts.
  7. Выберите опцию Создать простую задачу.
  8. В поле «Имя» введите краткое описательное имя для задачи – например, SystemInfoBatch.
  9. (Необязательно) В поле «Описание» создайте описание для задачи.
  10. Нажмите кнопку Далее.
  11. Выберите опцию Ежемесячно.

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

  12. Нажмите кнопку Далее.
  13. Используя настройку «Начать», укажите день и время запуска задачи.
  14. Используйте выпадающее меню «Месяцы», чтобы выбрать месяцы года, в которые вы хотите выполнить задачу.
  15. Используйте выпадающее меню «Дни» или «В:», чтобы указать дни, в которые будет выполняться задание.
  16. Нажмите кнопку Далее.
  17. Выберите опцию Запустить программу, чтобы запустить пакетный файл.
  18. В поле «Программа/скрипт» укажите путь к пакетному файлу.
  19. Нажмите кнопку Готово.

После выполнения этих действий задача сохраниться и запустит пакетный файл по указанному вами расписанию.

Запуск пакетных файлов при запуске

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

Чтобы запустить скрипт при запуске, используйте следующие простые шаги:

  1. Откройте проводник.
  2. Найдите папку с командным файлом.
  3. Щелкните правой кнопкой мыши файл и выберите параметр Копировать.
  4. Используйте комбинацию Win + R, чтобы открыть окно «Выполнить»
  5. Введите следующую команду: shell:startup
  6. Нажмите Вставить на вкладке «Главная» в папке «Автозагрузка». (Или вы можете нажать кнопку «Вставить ярлык», чтобы создать ярлык для командного файла.)
  7. Выйдите из учетной записи Windows 10.
  8. Войдите в аккаунт.

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

Мы ориентируем это руководство на Windows 10, но возможность использовать пакетные файлы существует давно, а это означает, что вы можете обратиться к этим инструкциям, если вы всё ещё используете более старую версию, включая Windows 8.1 или Windows 7.

Компиляция в командной строке с .NET Core CLI

Последнее обновление: 11.11.2020

Как правило, для создания программ на C# разработчики используют Visual Studio или какие-то другие IDE типа Rider от компании JetBrains.
Но все подобные IDE, хотя и облегчают разработку, в то же время скрывают множество мельчайших подробностей по созданию программ. И в реальности
мы даже можем обойтись без той же Visual Studio, используя только инфраструктуру .NET Core CLI. Рассмотрим, как использовать .NET Core CLI и компилировать приложение из командной строки.

Поэтому создадим на диске C какую-нибудь новую папку для проекта. Назовем ее, к примеру, helloapp. Откроем командную строку и с помощью команды cd перейдем к этой папке.

Для создания проекта в .NET Core CLI применяется команда dotnet new, которой передается название проекта. Итак, в введем в командной строке
следующую команду:

dotnet new console

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

После выполнения этой команды в папке helloapp будет создан проект с минимальным набором стандартных файлов и папок.

В частности, мы можем найти в папке проекта файл helloapp.csproj. Это главный файл проекта, который определяет его
конфигурацию. Мы можем открыть его в любом текстовом редакторе, просмотретьи при необходимости изменить. По умолчанию он имеет следующее определение:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

</Project>

Фактически это xml-файл, который содержит ряд элементов. Так, в данном случае элемент имеет значение «Exe», то есть при компиляции
будет создаваться exe-файл, который мы сможем запускать. А элемент указывает, под какую версию фреймворка будет компилироваться
проект. В данном случае это .net 5.0.

И, кроме того, по умолчанию создается главный файл программы Program.cs со следующим содержимым:

using System;

namespace helloapp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Соответственно, если нам надо внести изменения в исходный код программы, то мы будем изменять содержимое именно этого файла.

В принципе этот минимальный проект уже можно запускать. Для запуска проекта введем в командной строке следующую команду:

dotnet run

После выполнения команды в проекте в папке bin\MCD\Debug\net5.0 появится файл программы helloapp.exe, который можно вручную запустить. (Если используются .NET Core 2.x или 1.х, то там
буде компилировать файл с расширением dll.)

НазадВперед

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе

Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии

Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

Создание файла исходного кода на языке C и его компиляция из командной строкиCreate a C source file and compile it on the command line

  1. В окне командной строки разработчика введите команду , чтобы изменить текущий рабочий каталог на корень диска C:.In the developer command prompt window, enter to change the current working directory to the root of your C: drive. Затем введите , чтобы создать каталог, и введите , чтобы перейти к этому каталогу.Next, enter to create a directory, and then enter to change to that directory. В этом каталоге будут находиться исходный файл и скомпилированная программа.This directory will hold your source file and the compiled program.

  2. В командной строке разработчика введите команду .Enter at the developer command prompt. В появившемся диалоговом окне блокнота с оповещением выберите Да , чтобы создать файл simple.c в рабочем каталоге.In the Notepad alert dialog that pops up, choose Yes to create a new simple.c file in your working directory.

  3. В окне блокнота введите следующие строки кода:In Notepad, enter the following lines of code:

  4. В строке меню блокнота выберите команду Файл > Сохранить , чтобы сохранить файл simple.c в рабочем каталоге.On the Notepad menu bar, choose File > Save to save simple.c in your working directory.

  5. Вернитесь к окну командной строки разработчика.Switch back to the developer command prompt window. Введите в командной строке, чтобы получить список содержимого каталога c:\simple.Enter at the command prompt to list the contents of the c:\simple directory. Вы увидите исходный файл simple.c в списке каталогов, который выглядит примерно так:You should see the source file simple.c in the directory listing, which looks something like:

    Даты и некоторые другие данные будут отличаться на вашем компьютере.The dates and other details will differ on your computer. Если вы не видите файл исходного кода simple.c, убедитесь в том, что вы открыли созданный каталог c:\simple и сохранили файл исходного кода в нем в Блокноте.If you don’t see your source code file, simple.c, make sure you’ve changed to the c:\simple directory you created, and in Notepad, make sure that you saved your source file in this directory. Кроме того, убедитесь в том, что исходный код был сохранен с расширением имени файла .c, а не .txt.Also make sure that you saved the source code with a .c file name extension, not a .txt extension.

  6. Чтобы скомпилировать программу, в командной строке разработчика введите .To compile your program, enter at the developer command prompt.

    Имя исполняемой программы (simple.exe) отображается в информации, выводимой компилятором.You can see the executable program name, simple.exe, in the lines of output information that the compiler displays:

    Примечание

    Если вы получаете сообщение об ошибке, например «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», ошибке C1034 или LNK1104, командная строка разработчика настроена неправильно.If you get an error such as «‘cl’ is not recognized as an internal or external command, operable program or batch file,» error C1034, or error LNK1104, your developer command prompt is not set up correctly. Чтобы получить сведения о том, как устранить эту проблему, вернитесь к разделу Открыть командную строку разработчика.For information on how to fix this issue, go back to the Open a developer command prompt section.

    Примечание

    Если вы получаете другое сообщение об ошибке или предупреждение компилятора или компоновщика, проверьте исходный код, исправьте ошибки, сохраните его и снова запустите компилятор.If you get a different compiler or linker error or warning, review your source code to correct any errors, then save it and run the compiler again. Для получения сведений о конкретных ошибках введите номер ошибки в поле поиска вверху этой страницы.For information about specific errors, use the search box at the top of this page to look for the error number.

  7. Чтобы запустить программу, в командной строке введите .To run your program, enter at the command prompt.

    Программа выводит следующий текст и затем закрывается:The program displays this text and then exits:

    Поздравляем! Вы скомпилировали и запустили программу на C с помощью командной строки.Congratulations, you’ve compiled and run a C program by using the command line.

Как прописать параметры запуска программы в ярлыке

Этап 1. Выбор исполняемого файла и перенос ярлыка на рабочий стол

Несмотря на то что в подавляющем большинстве случаев при установке софта иконка для запуска помещается на рабочий стол, в некоторых случаях этого не происходит. Тогда вам нужно самостоятельно найти исполняемый файл. Каким образом?

  1. При установке приложения внимательно следите за тем, какую папку предлагает выбрать установщик. Обычно это C:\Program Files либо C:\Program Files (x86). Большинство разработчиков предоставляет возможность самостоятельно выбрать папку по умолчанию, но, если вы не изменяете предложенный вариант, программа будет установлена именно в указанную папку.
  2. Через проводник Windows зайдите в каталог, куда установлено программное обеспечение и найдите файл запуска. Он имеет расширение exe. Зачастую его название совпадает с названием самого софта. Если же вы не можете определиться, попробуйте выяснить эту информацию на официальном сайте разработчика в разделе справки или в службе технической поддержки.
  3. Кликните по названию файла правой кнопкой мыши и выберите функцию «Создать ярлык».
  4. Подтвердите запрос системы «Windows не может создать ярлык в данной папке. Поместить его на рабочий стол?».

Если же вы не помните, в какой папке установлен софт, поступить можно следующим образом:

  1. Перейти в меню Пуск, найти в списке ПО нужное вам (для ускорения процесса можно даже воспользоваться функцией поиска).
  2. Кликнуть по названию правой кнопки мыши и выбрать Отправить — Рабочий стол (создать ярлык).

Если же вы пользуетесь Windows 10, процедура будет несколько отличаться:

  1. Перейдите на стартовый экран нажатием кнопки Пуск.
  2. Отыщите в списке всех приложений или на начальном экране иконку запуска программы.
  3. Кликните правой кнопкой мыши, выберите Дополнительно — Перейти к расположению файла.
  4. После того как откроется окно Проводника Windows, скопируйте значок на рабочий стол через контекстное меню либо же просто перетянув его в нужное место.

Наконец – самый простой способ. Просто нажмите правую кнопку мыши на нужном файле и, не отпуская, перетащите на рабочий стол. Там отпустите кнопку и появится меню – выберите в нём «Создать ярлыки».

Этап 2. Указание параметров запуска

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

  1. Правой кнопкой мыши кликнуть по иконке и выбрать «Свойства».
  2. В открывшемся меню перейдите во вкладку «Ярлык» и найдите строку «Объект». Вы увидите, что поле ввода в нём является активным. Именно сюда мы и будем прописывать нужные команды.
  3. После ввода нужных данных внизу окошка нажмите последовательно Применить — OK.

Параметры записываются в строке «Объект», в самом конце. Их может быть несколько и разделяются они пробелами. Перед каждым параметром ставится «-». Например, для игры Prototype дописывание в конце строки «-windowed» означает, что она сразу запустится в оконном режиме, а не в полноэкранном.

5 способ: через контекстное меню

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

После этого в командной строке сразу откроется нужная нам папка. Введите в строку название файла, который запускает утилиту, и жмите «Enter». Это мы запустили CCleaner, расположенный не на системном диске (у меня D:).

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

Затем вводим название файла с расширением .*exe: chrome, и жмем «Enter». Браузер будет запущен.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий