Архив метки: компиляция

Компиляция c++ из командной строки в windows

  1. Установлена VisualStudio
  2. Войти в папку C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
  3. Запустить «VS2013 x64 Native Tools Command Prompt«
  4. Написать программу
#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world, from Visual C++!" << endl;
}

5. Запустить компиляцию

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

Написание и компиляция программы на C# без инструментов

Код файла с программой:

using System;
class test {
	static void Main(){
		Console.Write("Enter Path:");
		var path = Console.ReadLine();
		var file = new System.IO.StreamWriter(path, true);
		var OutText = "test some text";
		file.WriteLine(OutText);
		file.Close();
	}
}

Компиляция:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe .\1.cs

В результате в текущей папке сформируется экзешник

auto-py-to-exe — компилятор питоновских скриптов для windows

Проверено на Python 3 — работает

Установка:

>c:\users\user\AppData\Local\Programs\Python\Python36\python.exe -m pip install auto-py-to-exe
Collecting auto-py-to-exe
  Downloading auto_py_to_exe-2.7.4-py2.py3-none-any.whl (74 kB)
     |████████████████████████████████| 74 kB 84 kB/s
....
Successfully installed Eel-0.11.0 altgraph-0.17 auto-py-to-exe-2.7.4 bottle-0.12
.18 bottle-websocket-0.2.9 cffi-1.14.0 future-0.18.2 gevent-20.6.0 gevent-websoc
ket-0.10.1 greenlet-0.4.16 pefile-2019.4.18 pycparser-2.20 pyinstaller-3.6 pywin
32-ctypes-0.2.0 whichcraft-0.6.1 zope.event-4.4 zope.interface-5.1.0

После успешной установки в папке Python36\Scripts\ появится auto-py-to-exe.exe, запускаем его

auto-py-to-exe
auto-py-to-exe

Выбираем скрипт, выставляем нужные настройки и жмём снизу «CONVERT .PY TO .EXE«. Появляется папка output с откомпилированным скриптом program.exe

программа на C# для вывода в консоль списка локальных пользователей

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

using System; 
using System.DirectoryServices; 
using System.Linq; 
 
namespace HelloWorld 
{ 
    class Hello 
    { 
        static void Main() 
        { 
            Console.WriteLine("Список локальных пользователей:"); 
 
            //Black magic using linq 
            var path = string.Format("WinNT://{0},computer", Environment.MachineName); 
 
            using (var computerEntry = new DirectoryEntry(path)) 
            { 
                var userNames = from DirectoryEntry childEntry in computerEntry.Children 
                                where childEntry.SchemaClassName == "User" 
                                select childEntry.Name; 
 
                foreach (var name in userNames) 
                    Console.WriteLine(name); 
            } 
  
            Console.WriteLine("Нажми любую кнопку."); 
            Console.ReadKey(); 
        } 
    } 
}

Как собрать программу, чтобы она заработала:

1. Если в системе не установлен .net framework, то скачиваем его с сайта микрософта и устанавливаем

2. Вставляем текст программы в бллокнот и сохраняем в файл program.cs (.cs — исходник программы на языке C#)

3. Открываем командную строку и компилируем нашу программу с помощью компилятора csc.exe примерно так:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe c:\test\program.cs

4. В результате если не было ошибок, то получим файл program.exe — это и есть наша откомпилированная программа на C#.

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