АнглийскийФранцузскийИспанский

Запустить серверы | Ubuntu > | Fedora > |


Значок OnWorks

winebuild - Интернет в облаке

Запустите Winebuild в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда winebuild, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


winebuild - построитель DLL Wine

СИНТАКСИС


винный дом [опционы] [входной_файл...]

ОПИСАНИЕ


винный дом генерирует файлы сборки, необходимые для сборки Wine dll, которая
в основном это Win32 dll, инкапсулированная внутри библиотеки Unix.

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

РЕЖИМ ОПЦИИ


Вы должны указать ровно один из следующих вариантов, в зависимости от того, что вы хотите
winebuild для создания.

--dll Создайте файл сборки из файла .spec (см. SPEC ФАЙЛОВ СИНТАКСИС для подробностей), или
из стандартного файла .def Windows. Файл .spec / .def указывается через -E
вариант. Полученный файл необходимо собрать и связать с другими объектными файлами.
построить рабочую Wine dll. В этом режиме вход файлов должен быть список
все объектные файлы, которые будут связаны с финальной dll, чтобы позволить винный дом , чтобы получить
список всех неопределенных символов, которые необходимо импортировать из других dll.

--исполняемый Создайте файл сборки для исполняемого файла. Это в основном то же самое, что и --dll
режим за исключением того, что для него не требуется файл .spec / .def в качестве входных данных, поскольку исполняемый файл
не нужно экспортировать функции. Однако некоторые исполняемые файлы выполняют функции экспорта, а для
эти файлы .spec / .def можно указать через -E вариант. Исполняемый файл называется
из имени файла .spec / .def, если он присутствует, или явно через -F вариант.
получившийся файл необходимо собрать и связать с другими объектными файлами, чтобы создать
рабочий исполняемый файл Wine, а все остальные объектные файлы должны быть указаны как вход
файлы.

--def Создайте файл .def из файла спецификации. Файл .spec указывается через -E опцию.
Это используется при сборке dll с помощью компилятора PE (Win32).

--implib
Создайте библиотеку импорта PE из файла спецификации. Файл .spec указывается через -E
опцию.

--Ресурсы
Создайте файл .o, содержащий все входные ресурсы. Это полезно при создании
с компилятором PE, поскольку PE binutils не может обрабатывать несколько файлов ресурсов как
Вход. Для стандартной сборки Unix автоматически включаются файлы ресурсов.
при создании файла спецификации, поэтому нет необходимости в промежуточном файле .o.

ОПЦИИ


--as-cmd =как команда
Укажите команду для компиляции файлов сборки; по умолчанию as.

-б, --target =производитель процессора[-ядро]-os
Укажите целевой ЦП и платформу, на которой будет построен сгенерированный код. В
целевая спецификация находится в стандартном формате autoconf, возвращенном config.sub.

--cc-cmd =cc-команда
Укажите компилятор C, который будет использоваться для компиляции файлов сборки; по умолчанию вместо этого
используйте ассемблер, указанный в --as-cmd.

-д, --delay-lib =имя
Установите режим отложенного импорта для указанной библиотеки, который должен быть одним из
библиотеки, импортированные с -l вариант. Отложенный режим означает, что библиотека не будет
загружается до тех пор, пока на самом деле не будет вызвана импортированная из него функция.

-D символ
Игнорируется для совместимости с компилятором C.

-е, --entry =функция
Укажите функцию точки входа модуля; если не указано, по умолчанию DllMain
для dll и основной для исполняемых файлов (если стандартный C основной не определен, WinMain
вместо этого используется). Это действительно только для модулей Win32.

-А ТАКЖЕ, --export =имя файла
Укажите файл .spec (см. SPEC ФАЙЛОВ СИНТАКСИС для подробностей) или стандартный Windows .def
файл, который определяет экспорт создаваемой библиотеки DLL или исполняемого файла.

--external-символы
Разрешить связывание с внешними символами прямо из файла спецификации. Обычно символы
экспортируемый dll должен быть определен в самой dll; эта опция делает это
можно использовать символы, определенные в другой библиотеке Unix (для символов, определенных в
другая dll, a вперед должна использоваться спецификация).

-f вариант
Укажите вариант генерации кода. В настоящее время -fPIC и -фасинхронные-раскрутки-столы
поддерживаются. Другие параметры игнорируются для совместимости с компилятором C.

--fake-модуль
Создайте поддельный PE-модуль для dll или exe вместо обычной сборки или объекта
файл. Модуль PE содержит ресурсы для модуля, но не исполняемый код.

-Ф, --filename =имя файла
Задайте имя файла модуля. По умолчанию используется базовое имя спецификации.
файл (без расширения).

-час, --Помогите
Отобразите сообщение об использовании и выйдите.

-ЧАС, --heap =размер
Укажите размер локальной кучи модуля в байтах (действует только для модулей Win16);
по умолчанию это не локальная куча.

-I каталог
Игнорируется для совместимости с компилятором C.

-к, - убить на
Удалите декорации stdcall из имен символов в сгенерированном файле .def.
Только значимый в --def Режим.

-K Флаги
Игнорируется для совместимости с компилятором C.

- большие адреса
Установите флаг в исполняемом файле, чтобы уведомить загрузчик о том, что это приложение поддерживает
адресные пространства больше 2 гигабайт.

--ld-cmd =ld-команда
Укажите команду, которая будет использоваться для связывания объектных файлов; по умолчанию ld.

-Л, --library-path =каталог
Добавить указанный каталог в список каталогов, которые ищутся
библиотеки импорта.

-л, --library =имя
Импортируйте указанную библиотеку, ища соответствующий имя_библиотеки.def подать в
каталоги, указанные с помощью -L опцию.

-м16, -м32, -м64
Сгенерируйте соответственно 16-битный, 32-битный или 64-битный код.

-М, --main-module =модуль
При создании 16-разрядной библиотеки DLL задайте имя ее 32-разрядной копии как модуль. Это
используется для обеспечения того, чтобы порядок загрузки 16-разрядной библиотеки DLL соответствовал порядку загрузки
32-битный.

-Н, --dll-name =имя_dll
Задайте внутреннее имя модуля. Используется только в модулях Win16. По умолчанию
- использовать базовое имя файла спецификации (без расширения). Это используется для
ЯДРО, поскольку оно живет в KRNL386.EXE. В противном случае в нем не должно быть необходимости.

--nm-cmd =nm-команда
Укажите команду, которая будет использоваться для получения списка неопределенных символов; по умолчанию nm.

--nxcompat =Да|нет
Укажите, совместим ли модуль с поддержкой no-exec. По умолчанию - да.

-о, --output =файл
Задайте имя выходного файла (по умолчанию - стандартный вывод). Если выходной файл
имя заканчивается на .o, текстовый вывод отправляется во временный файл, который затем собирается
для создания указанного файла .o.

-р, --res =rsrc.res
Загрузить ресурсы из указанного двоичного файла ресурсов. В rsrc.res файл может быть
создается из исходного файла ресурсов с вкр(1) (или с ресурсом Windows
компилятор).
Эта опция необходима только для файлов ресурсов Win16, файлы Win32 могут просто
перечислены как вход файлов и будет автоматически обрабатываться правильно (хотя -r
вариант также будет работать для файлов Win32).

--save-temps
Не удаляйте различные временные файлы, винный дом генерирует.

--subsystem =подсистема[:основной[.незначительный]]
Установите подсистему исполняемого файла, которая может быть одной из следующих:
консоль для исполняемого файла командной строки,
окна для графического исполняемого файла,
родной для DLL в собственном режиме,
вздрогнуть для ce dll.
Точкой входа исполняемого файла командной строки является обычный C основной функция. А wmain
Вместо этого можно использовать функцию, если вам нужен массив аргументов для использования строк Unicode.
Графический исполняемый файл имеет WinMain входная точка.
При желании также могут быть указаны основная и дополнительная версия подсистемы; по умолчанию
версия подсистемы 4.0.

-у, --undefined =символ
Добавить символ в список неопределенных символов при вызове компоновщика. Это делает это
возможно принудительное включение определенного модуля статической библиотеки, когда
разрешение импорта.

-в, --подробный
Показать различные подкоманды, вызываемые винный дом.

--версия
Отобразите версию программы и выйдите.

-ш, - предупреждения
Включите предупреждения.

SPEC ФАЙЛОВ СИНТАКСИС


Общие синтаксис
Спецификационный файл должен содержать список порядковых объявлений. Общий синтаксис - это
следующие:

порядковый тип функции [Флаги] имя экспорта ( [аргументы ...] ) [обработчик]
порядковый переменная [Флаги] имя экспорта ( [данные...] )
порядковый внешний [Флаги] имя экспорта [имя символа]
порядковый заглушки [Флаги] имя экспорта [ (аргументы ...) ]
порядковый приравнивать [Флаги] имя экспорта дата
# Комментарии

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

порядковый указывает порядковый номер, соответствующий точке входа, или '@' для
автоматическое порядковое размещение (только Win32).

Флаги представляет собой серию необязательных флагов, которым предшествует символ '-'. Поддерживаемые флаги:

-нореле
Точка входа не отображается в трассировке отладки реле (только Win32).

-без имени
Точка входа будет экспортирована по порядковому номеру, а не по имени. Имя
все еще доступен для импорта.

-рет16 Функция возвращает 16-битное значение (только Win16).

-рет64 Функция возвращает 64-битное значение (только Win32).

-регистр
Функция использует регистр ЦП для передачи аргументов.

-частный
Функцию нельзя импортировать из других dll, к ней можно получить доступ только
через GetProcAddress.

-ординарный
Точка входа будет импортирована по порядковому номеру, а не по имени. Имя
до сих пор экспортируется.

-арх =процессор[,процессор]
Точка входа доступна только на указанной архитектуре (ах) ЦП. В
имена win32 и win64 соответствует всем 32-битным или 64-битным архитектурам ЦП
соответственно. В 16-битных dll, указав -arch = win32 вызывает точку входа
для экспорта из 32-битного модуля-оболочки.

функция порядковые числительные
Синтаксис:
порядковый тип функции [Флаги] имя экспорта ( [аргументы ...] ) [обработчик]

Это объявление определяет точку входа в функцию. Прототип, определенный
имя экспорта ( [аргументы ...] ) указывает имя, доступное для динамического связывания, и формат
аргументов. '@' можно использовать вместо имя экспорта только для порядкового экспорта.

тип функции должен быть одним из:

STDCALL
для нормальной функции Win32

Паскаль для нормальной функции Win16

cdecl для функции Win16 или Win32 с использованием соглашения о вызовах C

Варарги
для функции Win16 или Win32 с использованием соглашения о вызовах C с переменной
количество аргументов

этот звонок
для функции Win32 с помощью этот звонок соглашение о вызовах (первый параметр
в регистре% ecx на i386)

арг должен быть один или несколько из:

слово (16-битное беззнаковое значение)

меч (16-битное слово со знаком)

длинной (целочисленное значение размером с указатель)

int64 (64-битное целочисленное значение)

int128 (128-битное целочисленное значение)

плавать (32-битное значение с плавающей запятой)

двойной (64-битное значение с плавающей запятой)

PTR (линейный указатель)

ул (линейный указатель на строку ASCII с завершающим нулем)

wstr (линейный указатель на строку Unicode с завершающим нулем)

сегптр (сегментированный указатель)

сегстр (сегментированный указатель на строку ASCII с завершающим нулем).

Примечание. Типы 16-битных и сегментированных указателей действительны только для функций Win16.

обработчик это имя фактической функции C, которая будет реализовывать эту точку входа в
32-битный режим. Обработчик также можно указать как имя_dll.функция определить направляемый
функция (та, реализация которой находится в другой dll). Если обработчик не указано, это
предполагается идентичным имя экспорта.

В этом первом примере определяется точка входа для 32-разрядного вызова GetFocus ():

@ stdcall GetFocus () GetFocus

Во втором примере определяется точка входа для 16-битного вызова CreateWindow () (порядковый номер
100 - это просто пример); он также показывает, насколько длинные строки можно разделить с помощью обратной косой черты:

100 паскаль CreateWindow (ptr ptr long s_word s_word s_word \
s_word слово слово слово ptr) WIN_CreateWindow

Чтобы объявить функцию с использованием переменного числа аргументов, укажите функцию как
Варарги и объявите его в файле C с параметром '...' для функции Win32 или с
дополнительный аргумент VA_LIST16 для функции Win16. См. Функции wsprintf * в
user.exe.spec и user32.spec для примера.

Технология порядковые числительные
Синтаксис:
порядковый переменная [Флаги] имя экспорта ( [данные...] )

Это объявление определяет хранилище данных как 32-битные слова с указанным порядковым номером.
имя экспорта будет имя, доступное для динамического связывания. дата может быть десятичным числом
или шестнадцатеричное число, которому предшествует «0x». В следующем примере переменная VariableA определяется в
порядковый номер 2 и содержащий 4 целых числа:

2 переменная VariableA (-1 0xff 0 0)

Это объявление работает только в файлах спецификации Win16. В Win32 вы должны использовать внешний вместо
(Смотри ниже).

Внешний порядковые числительные
Синтаксис:
порядковый внешний [Флаги] имя экспорта [имя символа]

Это объявление определяет запись, которая просто отображается на символ C (переменную или функцию).
Он работает только в файлах спецификации Win32. имя экспорта укажет на символ имя символа что
должен быть определен в коде C. В качестве альтернативы он может иметь форму имя_dll.имя символа в
определить перенаправленный символ (тот, реализация которого находится в другой dll). Если имя символа is
не указано, предполагается, что он идентичен имя экспорта.

Пень порядковые числительные
Синтаксис:
порядковый заглушки [Флаги] имя экспорта [ (аргументы ...) ]

Это объявление определяет функцию-заглушку. Это делает имя и порядковый номер доступными для
динамическое связывание, но завершит выполнение с сообщением об ошибке, если функция
когда-либо звонил.

Приравнять порядковые числительные
Синтаксис:
порядковый приравнивать [Флаги] имя экспорта дата

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

АВТОРЫ


винный дом над ним работали многие люди на протяжении многих лет. Основные авторы - Роберт Дж.
Амштадт, Александр Джуллиард, Мартин фон Лёвис, Ульрих Вейганд и Эрик Янгдейл. Много
другие люди внесли новые функции и исправления ошибок. Полный список см. В git
фиксировать журналы.

Используйте Winebuild онлайн с помощью сервисов onworks.net


Ad


Ad