Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft C/C++ оптимизирующий компилятор

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5

Открыть новую тему     Написать ответ в эту тему

TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как известно, в течение длительного времени Microsoft C/C++ компилятор невозможно было использовать без массивной (нынче уже монструозной и, к сожалению, жутко глюкавой) IDE; времена QuickC в счет не берем. Между тем, во многих ситуациях требуется компилятор в классическом виде, без излишеств.
В 2003 Microsoft выпустила продукт под названием Microsoft Visual C++ Toolkit 2003, в настоящее время его можно нагуглить, но с официального сайта фирма, следуя своей не лучшей традиции, его удалила.
 
Раньше можно было использовать также пакет Windows Driver Kit (WDK), в состав которого, до 8-й версии, входил компилятор.
 
В 2015г. был, наконец, анонсирован, а затем выпущен продукт Visual C++ Build Tools 2015, который представляет собой набор инструментальных стредств (C++ компилятор, компоновщик и другие вспомогательные утилиты, библиотеки и заголовочные файлы, скрипты для сборки, различные версии Windows SDK, впрочем последние можно и не устанавливать) для сборки C++ приложений и библиотек для настольных версий Windows, причем устанавливать Visual Studio не требуется. Этот пакет требует .NET Framework версии 4.5.1 и выше.
    Состав:  
  •    Visual C++ Compilers (targeting x86, X64 and ARM)
  •    Visual C++ headers & libraries (CRT & STL)
  •    Visual C++ build scripts (targeting Windows desktop)
  •    Microsoft Build Tools 2015 (MSBuild)
  •    Windows SDK 8.1 (optional, on by default)
  •    Windows SDK 10 (optional, off by default)
  •    C++ Build tools specific command prompts
  •    MFC and ATL (added with VS 2015 Update 3)
Этот продукт можно скачать на сайте компании в виде 3-х мегабайтного Web-установщика. Конечно, для установки на несколько компьютеров вариант online-установки не подходит. Для offline-установки скачанный Web-установщик надо запустить с ключом /layout --- в этом случае установщик скачает все необходимые компоненты в указанный каталог для последующей установки уже в offline-режиме, но уже с ключом /NoWeb; общий размер загруженных файлов составляет примерно 1,7 Гб.
 
Как утверждается на сайте Microsoft, фирма, учитывая высокую стоимость (в смысле трудозатрат) индивидуальных установок Visual Studio 2015 и WDK для организаций с большим количеством разработчиков, выпустила специальную версию уже упомянутого пакета Windows Driver Kit (WDK) под названием Enterprise Windows Driver Kit (Enterprise WDK), основанный на Enterprise-редакции Visual Studio 2015, WDK, и Windows SDK. В составе Enterprise WDK также нет визуальной среды разработки --- предлагается только интерфейс командной строки. Enterprise WDK версии 10 включает в свой состав:
• Visual Studio Build Tools, C/C++ компилятор, компоновщик (linker) и объектные библиотеки (lib) из Visual Studio сборки 14.00.24720.0 (VS 2015 Update 1)
• Windows SDK сборки 10586.13  
• .NET Framework 4.6 SDK сборки 10586.13  
• Windows Driver Development Kit сборки 10586.0
 
Таким образом, Enterprise WDK содержит все необходимое для сборки драйверов и базовых тестовых Win32-приложений. Установка продукта крайне проста --- в соответствии с заявленными целями он поставляется в виде единственного zip-файла "весом" около 1,8 Гб, который надо просто распаковать и запустить скрипт настройки от имени администратора. Распакованный архив занимает уже около 5,7 Гб.
 
Подчеркнем еще раз, что эти продукты имеют интерфейс командной строки --- никакой визуальной среды разработки, даже простого редактора кода, в своем составе они не имеют.
 
Преимущества и недостатки
1. Visual C++ Build Tools 2015
Неудобная загрузка --- инсталлятор часто глючит
Необходим администраторский доступ для установки, следовательно, при переустановке системы надо заново устанавливать
 
2. Enterprise Windows Driver Kit (EWDK)
Легкая загрузка --- качаем единственный zip-архив
 
Формально, как написано в официальном сайте, для запуска скриптов необходим администраторский доступ, но можно работать и без этого; как --- опишу ниже. Официальный сайт предлагает пользоваться утилитой MSBuild, но в этом случае, чтобы скомпилировать даже простой "проект" "Hello, world", надо составить файл проекта .vcxproj, причем формат этого файла кое-в-чем отличается от, так скажем, стандартного. В статье Walkthrough: Using MSBuild to Create a Visual C++ Project приводится пример такого файла
Подробнее...
Однако, этот файл, скажем так, несколько устарел. Ниже приведен модифицированный мной пример MyTest.vcxproj
Подробнее...
Теперь можно и собирать:
MSBuild MyTest.vcxproj /p:configuration=release /p:platform=Win32
 
Теперь кратко (только для двух платформ, для других можно попробовать аналогичным образом) опишу, как заставить "работать" EWDK без администраторского доступа и без утилиты MSBuild (эта информация устарела и будет отредактировано)
Подробнее...
 
И еще: nmake тоже наличествует
 
На всякий случай, история выпусков:
https://developer.microsoft.com/ru-ru/windows/hardware/license-terms-enterprise-wdk
https://docs.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2015
EWDK for Windows 10, version 1607 with Visual C++ Build Tools 2015
EWDK for Windows 10, version 1703 with Visual C++ Build Tools 2015
https://developer.microsoft.com/ru-ru/windows/hardware/license-terms-EWDK
https://docs.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2017
EWDK for Windows 10, version 1709 with Visual Studio Build Tools 15.2
EWDK for Windows 10, version 1709 with Visual Studio Build Tools 15.4
EWDK for Windows 10, version 1709 with Visual Studio Build Tools 15.6
EWDK for Windows 10, version 1803 with Visual Studio Build Tools 15.6
EWDK for Windows 10, version 1803 with Visual Studio Build Tools 15.7
EWDK for Windows 10, version 1809 with Visual Studio Build Tools 15.8
EWDK for Windows 10, version 1809 with Visual Studio Build Tools 15.8.9
https://developer.microsoft.com/ru-ru/windows/hardware/license-terms-EWDK-2
https://docs.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2019
EWDK for Windows 10, version 1903 with Visual Studio Build Tools 16.0
EWDK for Windows 10, version 2004 with Visual Studio Build Tools 16.7
EWDK for Windows Server 2022 with Visual Studio Build Tools 16.9.2
https://docs.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2019-New
Windows 11 EWDK with Visual Studio Build Tools 16.9.2
Windows 11 EWDK with Visual Studio Build Tools 16.11.10
https://learn.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2022
Windows 11, version 22H2 EWDK with Visual Studio Build Tools 17.1.5
 
Также полезная информация: иногда требуется указать в командной строке для MSBuild значение параметра PlatformToolset Подробнее...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 20:01 21-11-2016 | Исправлено: TeXpert, 10:15 11-02-2023
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JFK2005
Цитата:
Ассемблер всегда входил в поставку студии, разве нет?
Так-то да, потом я студию забросил --- она стала пухнуть жутковато
Цитата:
Ибо зачем?
Преподавание еще никто не отменял
Цитата:
Плюсы лучше оптимизируют код, особенно, когда это касается векторных команд
Твоими устами бы, как говорится... Помимо устранения багов, переписали хотя бы основные утилиты ОС на ассемблере --- она бы сильно похудела
Цитата:
Я понимаю, что есть люди, которые гонятся за модой
Ты жестоко не прав. Многие вещи проще пишутся, да и недоделок устраняют. Например, filesystem мне нравится
Цитата:
А на самом деле С++ прожил почти без изменений почти 20 лет после своего появления, и никакие нововведения в сам язык там не нужны. Не используйте ничего, что не мог бы скомпилировать Visual C++ 2010, мой вам совет. Ибо это просто разводка
Мне вот многопоточность нужна, что прикажешь делать? Не таскать же везде boost (к тому же оттуда перекочевываеют нововедения)
 
Насчет Qt полностью согласен --- сам как остановился на 4.8.7, так там и сижу, 5-ю сразу не взлюбил, сразу была видна тенденция к разбуханию. На Qt 5 не написал ни одну программу
Цитата:
Так что, если вы используете Qt - опять совет, оставайтесь на 4.8.7
Это я мог бы тебе посоветовать, библиотеку использую около 10-лет. К сожалению, ветка 4.8 уже перестала обновляться

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 00:57 14-08-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
 
Ассемблер хорош для драйверов - они от набора команд ЦП зависят, а для ОС лучше ANSI C, или если одновременно нужно и считать и работать с большими массивами, и сложный ввод-вывод я предпочту PL/1 - скорость мало уступает ассемблеру, математика Fortran, работа с массивами лучше чем у Cobol и гибкость Algol,а сам код намного короче чем на C/C++ - я когда-то на нём писал систему виртуализации ресурсов майнфрейма - весь код вместе с GUI и ассемблерными вставками драйверов примерно 12 тыс строк,а на С пришлось бы написать около 400 тыс строк, да ещё и возится с их отладкой. Ну что проще записи вида
 
 Dcl Arr1 array (A(j),T(n),D(u,x,y))  
 
где индексы A(j),T(n),D(u,x,y) сами вложенные массивы? А если учесть, что индексов может быть до 63, и глубина вложенности массивов то же 63. Жаль что сейчас кроме старого IBM VisuaAge PL/1 под OS/2 и AS400 на него компиляторов толком нет.... Модное ООП удобно, но если работать с мелочами когда сам можешь представить всю картину, а коли надо к примеру гидродинамику считать? Тяни монструозные библиотеки?

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33234 | Зарегистр. 31-07-2002 | Отправлено: 01:58 14-08-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
Я вообще-то ассемблер уважаю, так что все преимущества (и недостатки) в принципе знаю. Вообще, моя безумная идея (в предыдущем посте намекал на это слегка) --- вместо приумножения новых багов переписать ОС полностью на ассемблере, уж у Гейтса на это денег бы хватило. Идея-то и вовсе не безумная, вспомним хотя бы ColibriOS

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 02:28 14-08-2020
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
 
Идея-то отличная, только сколько на это труда уйдёт, да и у известной конторы только коробочки хорошо выходят. Они уж точно такую работу не потянут - банально не хватит знаний и умений ибо думать нонче очень не модно, а учится - "А зачем, коли добрые люди и так прокормят?". Поколение Митрофанушек из "Горе от ума".

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 33234 | Зарегистр. 31-07-2002 | Отправлено: 02:57 14-08-2020
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
У индусов хватит. Как там говорила госпожа Касперская? Нам с ними конкурировать невозможно, потому что они нанимают 100 тысяч индусов за копейки, и они делают то, что им нужно. Насчет 100 тысяч - не преувеличение, кстати.
 
TeXpert
Я лучше буду использовать boost, чем эти глупые нововведения в язык. Нужны потоки? Да в том же Qt они есть, организовано умно и красиво.
 
***
 
Кстати, если что - я большой поклонник ассемблера. Но для современного софта использовать его... ну не совсем практично.
 
По поводу Qt 5. Как я уже говорил, намеренно или просто по глупости - эта библиотека потеряла совместимость со всеми компиляторами, кроме самых свежих MSVC++ и GCC. Возможно, им дали взятку MS, я не знаю. Но теперь я не могу взять исходники Qt и собрать под любую платформу, включая древнюю Амигу. Не могу собрать старой студией. Даже свежий Intel C++ не собирает её! Склоняюсь, что это было всё же сделано намеренно.

Всего записей: 2060 | Зарегистр. 26-10-2005 | Отправлено: 17:03 15-08-2020 | Исправлено: JFK2005, 17:36 15-08-2020
Martik

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я правильно понимаю, что EWDK - сейчас единственный мало гемморойный вариант получить "почти портабельный" компилятор командной строки без кучи барахла в виде IDE ?
 
 

Всего записей: 500 | Зарегистр. 05-07-2004 | Отправлено: 23:07 15-08-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Martik

Цитата:
Я правильно понимаю, что EWDK - сейчас единственный мало гемморойный вариант получить "почти портабельный" компилятор командной строки без кучи барахла в виде IDE ?
Совершенно верно для компилятора Microsoft. Для MinGW есть портабельные маловесящие варианты сборок: GCC 9.2.0 and Boost 1.71.0 (87.2 MB), MinGW-W64 GCC-8.1.0 (47 MB). Это архивы, распаковываешь и работаешь
 
Сможешь сделать вот это?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 00:26 16-08-2020
Martik

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert

Цитата:
Сможешь сделать вот это?

 
347d5a215c11c3eb4efc9436acbb0a88 *EWDK_vb_release_19041_191206-1406.iso
 
(with TC)

Всего записей: 500 | Зарегистр. 05-07-2004 | Отправлено: 01:42 16-08-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обещанная сборка EWDK for Windows 10, version 2004 with Visual Studio Build Tools 16.3
EWDK_vb_release_19041_191206-1406.iso
Размер порядка 13 GB(
Цитата:
EWDK — это автономная среда командной строки для создания драйверов. В нее включена последняя версия Visual Studio Build Tools, пакета SDK и WDK.
Чтобы приступить к работе, подключите ISO-файл и выполните LaunchBuildEnv
Для сборки драйверов этого хватает, однако, для компиляции обычных файлов я набросал bat-файл (только для Intel, для других платформ можно легко сделать по аналогии). Внимание: если нужна работа только с компилятором C/C++, запускать LaunchBuildEnv нет необходимости!
Существует OpenSource программа для монтирования ISO-файлов в Windows 7/8 (Windows 10 умеет монтировать сама, выбираем в контекстном меню на имени файла пункт "Подключить") --- WinCDEmu, программа легкая (весит около 600 Кб), портабельная, т. е. не требует установки, не говоря о том, что исходные коды открыты. Естественно, требуется администраторский доступ, и это, пожалуй, ее единственный недостаток. Эта программа может все-таки пригодиться в Windows 10 --- обнаружилось, что WinRar захватывает пункт меню "Подключить", рисуя вместо него малополезную команду "Открыть"
Модификация bat-файла
vc.bat
Код:
@echo off
set VER=%1
if "%VER%" == "32" set LIBVER=86
if "%VER%" == "64" set LIBVER=64
set "VSROOT=F:\Program Files"
set "WDKLIBVER=10.0.19041.0"
set "BUILDTOOLSPATH=%VSROOT%\Microsoft Visual Studio\2019\BuildTools"
set "WDKROOT=%VSROOT%\Windows Kits\10"
set "WDKLIB=%WDKROOT%\Lib\%WDKLIBVER%"
call "%BUILDTOOLSPATH%\VC\Auxiliary\Build\vcvars%VER%.bat"
set "INCLUDE=%WDKROOT%\Include\%WDKLIBVER%\ucrt;%INCLUDE%"
set "LIB=%WDKLIB%\ucrt\x%LIBVER%;%WDKLIB%\um\x%LIBVER%;%LIB%"
Опять же, 5-ю строчку надо редактировать под ваши реалии: букву диска меняем на ту, которую имеет смонтированный ISO-файл. Совет: файл vc.bat поместите в каталог, скажем, D:\Programs\bin, и добавьте эту же путь в системную переменную PATH (программу PortableWinCDEmu-4.0.exe также стоит поместить в этот же каталог). Тогда командную строку для компиляции можно запустить так:
Код:
vc 32 | 64
Дальше пользуем команду cl
Цитата:
D:\Users\Student>vc 64
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.0
** Copyright (c) 2019 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
 
D:\Users\Student>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.23.28105.4 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

 
 
Microsoft Macro Assembler запускаем так:
Код:
ml | ml64


----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 17:03 23-09-2020 | Исправлено: TeXpert, 17:35 23-09-2020
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Как известно, в течение длительного времени Microsoft C/C++ компилятор невозможно было использовать без массивной (нынче уже монструозной и, к сожалению, жутко глюкавой) IDE

Имхо, начало шапки надо выкинуть, как, мягко говоря, не соответствующую действительности и никогда не соответствовавшую. Во все все времена в VS присутствовал компилятор командной строки, прекрасно работавший без IDE.

----------
Разум когда-нибудь победит

Всего записей: 3219 | Зарегистр. 09-02-2003 | Отправлено: 17:58 26-09-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Цитата:
Имхо, начало шапки надо выкинуть, как, мягко говоря, не соответствующую действительности и никогда не соответствовавшую
Согласен, что шапку надо модифицировать --- займусь этим скоро, мысль уже давно назревала. А вот насчет "никогда" --- Вы жестоко ошиблись
Цитата:
Во все все времена в VS присутствовал компилятор командной строки, прекрасно работавший без IDE
Мсье уверен? С какой версией студии Вам приходилось работать?
 
Кстати, на первой странице еще обсуждалось использование Visual Studio Code, однако, постепенно энтузиазм пропал --- уж больно он жирный (exe-шник около 100 MB, это уж ни в какие ворота, наследие JavaScript?). А вот идея подбора легкой, гибко настраиваемой и кроссплатформенной IDE или продвинутого редактора остается. Претенденты: SciTE и QtCreator. Недостаток последнего --- требует инсталляции
 
Еще вопрос --- мне кажется, Visual Studio IDE существует в портабельном виде. Не требующей установки, просто распаковал архив и вперед. Может кто-нибудь слышал?
 
P. S. Я как-то натыкался на MSVC Standalone. Весьма любопытный проект, только про Visual Studio 2017. Прошу отписаться тех, кто проверял. Было бы еще лучше, если кто-нибудь переписал универсальный скрипт
 
Спасибо

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 18:31 26-09-2020 | Исправлено: TeXpert, 18:50 26-09-2020
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TeXpert

Цитата:
Мсье уверен? С какой версией студии Вам приходилось работать?

Уверен, что как минимум с 5-й студии. Более древние не застал (пользовался Борландом). Во всех остальных присутствует полный набор

Цитата:
C++ компилятор, компоновщик и другие вспомогательные утилиты, библиотеки и заголовочные файлы, скрипты для сборки, различные версии Windows SDK

если, конечно же, Вы их установили.

Цитата:
мне кажется, Visual Studio IDE существует в портабельном виде

Скорее всего, собранная в каком-нибудь Turbo Studio.

----------
Разум когда-нибудь победит

Всего записей: 3219 | Зарегистр. 09-02-2003 | Отправлено: 19:10 26-09-2020 | Исправлено: Smitis, 19:11 26-09-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Я тоже работал, начиная с 5-й студии и он мог работать прямо с CD (впрочем, как и 6-я студия). 6-ю студию вначале устанавливал (позже уже без этого), и что-то там, как и в случаях прямой работы с CD, не припоминаю, чтобы устанавливалась командная строка (как Вы пишете, "компилятор командной строки"). Просто, командный файл был, и его надо было запускать в командной строке самостоятельно, насколько я помню
Цитата:
C++ компилятор, компоновщик и другие вспомогательные утилиты, библиотеки и заголовочные файлы, скрипты для сборки, различные версии Windows SDK
А вот Windows SDK никогда не входил в состав студии. Заголовочные файлы тоже приходилось использовать по-разному --- либо из студии, либо из PlatformSDK
Цитата:
Скорее всего, собранная в каком-нибудь Turbo Studio
В топку такие сборки
 
Кстати, беглое изучение файла vs2017.bat из этого самого MSVC Standalone и дерева каталогов нашего ISO-файла наталкивает на мысль, что студию таки можно будет запустить путем копирования минимального количества файлов, необходимых для поддержания жизнедеятельности devenv.exe. Вот кому бы этим заняться
 
 
P. S. Компилятор-то всегда "командная строка".

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 19:33 26-09-2020
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TeXpert
Под командной строкой я понимаю, в данном случае, cl.exe, lib.exe, link.exe, nmake.exe и другие утилиты командной строки, а также батники типа vcvars32.bat, vcvarsall.bat. SDK шёл в составе студии со своими дополнительными утилитами командной строки в своём bin и своими lib и include. В общем, всё, что нужно для сборки проектов из командной строки без всякой IDE. Собственно, сама IDE ничего самостоятельно компилировать не умеет, а идёт платной нагрузкой к компиляторам. А в старых версиях студии IDE была ко всему прочему, не такая уж и гигантская.
 

Цитата:
Компилятор-то всегда "командная строка"

Объективности ради - основной код компилятора вынесен в dll (c1.dll, c1xx.dll, c2.dll), и, если не ошибаюсь, IDE для компиляции использует эти dll.
 

Цитата:
В топку такие сборки

Согласен.
 

Цитата:
что студию таки можно будет запустить путем копирования минимального количества файлов, необходимых для поддержания жизнедеятельности devenv.exe

Старые запускались без проблем. Новые не пробовал.
 

Цитата:
Вот кому бы этим заняться

Уже лет 15 хочу в этом разобраться, но лень побеждает - если студия уже установлена и работает, возиться уже не охота до следующего раза.

----------
Разум когда-нибудь победит

Всего записей: 3219 | Зарегистр. 09-02-2003 | Отправлено: 20:38 26-09-2020
IceK

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
если не ошибаюсь, IDE для компиляции использует эти dll.

 
Ошибаетесь, для компиляции вызываются cl.exe. А для подсветки ошибок (IntelliSense) они используют свой парсер.

Всего записей: 225 | Зарегистр. 19-12-2005 | Отправлено: 17:41 01-10-2020
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сборка Windows 11 EWDK with Visual Studio Build Tools 16.9.2
EWDK_co_release_22000_210604-1628.iso
Размер порядка 16 GB(
Цитата:
EWDK — это автономная среда командной строки для создания драйверов. В нее включена последняя версия Visual Studio Build Tools, пакета SDK и WDK.
Чтобы приступить к работе, подключите ISO-файл и выполните LaunchBuildEnv
Для сборки драйверов этого хватает, однако, для компиляции обычных файлов я набросал bat-файл (только для Intel, для других платформ можно легко сделать по аналогии). Внимание: если нужна работа только с компилятором C/C++, запускать LaunchBuildEnv нет необходимости!
Существует OpenSource программа для монтирования ISO-файлов в Windows 7/8 (Windows 10 умеет монтировать сама, выбираем в контекстном меню на имени файла пункт "Подключить") --- WinCDEmu, программа легкая (весит около 600 Кб), портабельная, т. е. не требует установки, не говоря о том, что исходные коды открыты. Естественно, требуется администраторский доступ, и это, пожалуй, ее единственный недостаток. Эта программа может все-таки пригодиться в Windows 10 --- обнаружилось, что WinRar захватывает пункт меню "Подключить", рисуя вместо него малополезную команду "Открыть"
Модификация bat-файла
vc.bat
Код:
@echo off
set VER=%1
if "%VER%" == "32" set LIBVER=86
if "%VER%" == "64" set LIBVER=64
set "VSROOT=D:\Program Files"
set "WDKLIBVER=10.0.22000.0"
set "BUILDTOOLSPATH=%VSROOT%\Microsoft Visual Studio\2019\BuildTools"
set "WDKROOT=%VSROOT%\Windows Kits\10"
set "WDKLIB=%WDKROOT%\Lib\%WDKLIBVER%"
call "%BUILDTOOLSPATH%\VC\Auxiliary\Build\vcvars%VER%.bat"
set "INCLUDE=%WDKROOT%\Include\%WDKLIBVER%\ucrt;%INCLUDE%"
set "LIB=%WDKLIB%\ucrt\x%LIBVER%;%WDKLIB%\um\x%LIBVER%;%LIB%"
Опять же, 5-ю строчку надо редактировать под ваши реалии: букву диска меняем на ту, которую имеет смонтированный ISO-файл. Совет: файл vc.bat поместите в каталог, скажем, D:\Programs\bin, и добавьте эту же путь в системную переменную PATH (программу PortableWinCDEmu-4.0.exe также стоит поместить в этот же каталог). Тогда командную строку для компиляции можно запустить так:
Код:
vc 32 | 64
Дальше пользуем команду cl
Цитата:
C:\User\C++>vc 64
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.9.2
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
 
C:\User\C++>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29913 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

 
Microsoft Macro Assembler запускаем так:
Код:
ml | ml64

Цитата:
C:\User\C++>ml64
Microsoft (R) Macro Assembler (x64) Version 14.28.29913.0
Copyright (C) Microsoft Corporation.  All rights reserved.
 
usage: ML64 [ options ] filelist [ /link linkoptions]
Run "ML64 /help" or "ML64 /?" for more info


----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 13:51 18-01-2022
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
 
Хорошее и полезное дело. В идеале бы вычистить компиляторы от всего мусора, которого там весьма много.
 
А еще неплохо было бы почистить саму ОС. Недавно собрал себе дополнительный комп на старом чипсете для нормальной работы со старым софтом, поставил туда Windows 2003. Система после старта занимает в ОЗУ смешные по нынешним временам 200 Мб. Да, это с драйверами (чипсет, GT710, звуковая карта).
 
С высоких трибун говорят об импортозамещении, а воз и ныне там. Собрать команду толковых людей, взять за основу XP или Windows7 (исходники которых есть в сети), убрать мусор. Вот что нужно сделать.

Всего записей: 2060 | Зарегистр. 26-10-2005 | Отправлено: 16:18 19-01-2022
IceK

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В идеале бы вычистить компиляторы от всего мусора, которого там весьма много.

 
Хех, особенно от телеметрии, которую стали добавлять не только в сам компилятор, но и в компиляемые им бинари. Мало им Rich-сигнатуры было)

Всего записей: 225 | Зарегистр. 19-12-2005 | Отправлено: 19:12 19-01-2022
Nikolka00

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
туплю)) удалил вопрос

Всего записей: 438 | Зарегистр. 08-08-2008 | Отправлено: 13:13 07-03-2022 | Исправлено: Nikolka00, 13:26 07-03-2022
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! А кто-нибудь использовал компилятор из архива с украденными исходниками Windows Server 2003 ? Я покопался там, и насобирал по разным папкам рабочий компилятор C/C++ весом чуть меньше 5 мегабайт, не требующий записей в реестре и .NET Framework (под "рабочим" я имею в виду, что программу hello.c он компилирует, нужно только в командной строке прописать путь к папке с stdio.h при помощи команды set include=, и в путях нигде не должно быть пробелов). Минимальный набор файлов:
c1.dll
c2.dll
cl.exe
kernel32.lib
link.exe
mspdb71.dll
msvcp71.dll
msvcr71.dll
libc.lib либо msvcrt.lib (в последнем случае запускаем с параметром /MD)
oldnames.lib
stdio.h
 
После компиляции рождается файл hello.exe, вполне рабочий, весом 3.5 килобайт. Единственное, что меня смущает: выскакивает надпись "LINK : warning LNK4078: multiple '.rdata' sections found with different attributes (C0000040)". С чем это может быть связано? Я ещё только учусь программировать, в Гугле ответа не нашел  

Всего записей: 67 | Зарегистр. 19-12-2021 | Отправлено: 14:03 20-05-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5

Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft C/C++ оптимизирующий компилятор


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru