英语法语西班牙语

Ad


OnWorks 网站图标

winebuild - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 winebuild

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 winebuild,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


winebuild - Wine dll 生成器

概要


酿酒厂 [选项[输入文件...]

商品描述


酿酒厂 生成构建 Wine dll 所需的程序集文件,它是
基本上是封装在 Unix 库中的 Win32 dll。

酿酒厂 有不同的模式,具体取决于要求生成的文件类型。 这
模式由下面指定的模式选项之一指定。 除了模式
选项,可以指定各种其他命令行选项,如 配置
部分。

MODE 配置


您必须准确指定以下选项之一,具体取决于您想要的
winebuild 生成。

--dll 从 .spec 文件构建程序集文件(请参阅 SPEC 文件 句法 详情),或
来自标准的 Windows .def 文件。 .spec/.def 文件是通过 -E
选项。 生成的文件必须组装并链接到其他目标文件
构建一个可用的 Wine dll。 在这种模式下, 输入 应该是列表
将链接到最终 dll 中的所有目标文件,以允许 酿酒厂 要得到
需要从其他 dll 导入的所有未定义符号的列表。

- 可执行程序 为可执行文件构建程序集文件。 这与 --dll
模式,除了它不需要 .spec/.def 文件作为输入,因为一个可执行文件
不需要导出函数。 然而,一些可执行文件执行导出功能,并且对于
那些 .spec/.def 文件可以通过 -E 选项。 可执行文件名为
从 .spec/.def 文件名(如果存在)或明确通过 -F 选项。 该
生成的文件必须被组装并链接到其他目标文件以构建一个
工作 Wine 可执行文件,所有其他目标文件必须列为 输入
文件。

--def 从规范文件构建 .def 文件。 .spec 文件是通过 -E 选项。
这在使用 PE (Win32) 编译器构建 dll 时使用。

--隐含
从规范文件构建 PE 导入库。 .spec 文件是通过 -E
选项。

- 资源
生成一个包含所有输入资源的 .o 文件。 这在构建时很有用
使用 PE 编译器,因为 PE binutils 不能像这样处理多个资源文件
输入。 对于标准的 Unix 构建,资源文件会自动包含在内
在构建规范文件时,不需要中间的 .o 文件。

配置


--as-cmd=作为命令
指定用于编译程序集文件的命令; 默认是 as.

-b, --目标=cpu-制造商[-核心]-os
指定生成代码的目标 CPU 和平台。 这
目标规范采用 config.sub 返回的标准 autoconf 格式。

--cc-cmd=cc 命令
指定用于编译汇编文件的 C 编译器; 默认是改为
使用指定的汇编程序 --as-cmd.

-d, --延迟库=姓名
为指定库设置延迟导入模式,必须是其中之一
与导入的库 -l 选项。 延迟模式意味着图书馆不会
直到真正调用从它导入的函数。

-D 符号
忽略与 C 编译器的兼容性。

-e, --条目=功能
指定模块入口点函数; 如果未指定,则默认为 主目录
对于 dll,和 对于可执行文件(如果标准 C 没有定义, 主程序
改为使用)。 这仅对 Win32 模块有效。

-和, --出口=文件名
指定 .spec 文件(请参阅 SPEC 文件 句法 有关详细信息),或标准的 Windows .def
定义正在构建的 DLL 或可执行文件的导出的文件。

--外部符号
允许直接从规范文件链接到外部符号。 通常符号
由 dll 导出的必须在 dll 本身中定义; 这个选项使它
可以使用在另一个 Unix 库中定义的符号(对于定义在
另一个dll,一个 前锋 必须改用规范)。

-f 选项
指定代码生成选项。 目前 -fPIC-fasynchronous-展开表
支持。 为了与 C 编译器兼容,其他选项将被忽略。

--假模块
为 dll 或 exe 创建一个假的 PE 模块,而不是正常的程序集或对象
文件。 PE 模块包含模块的资源,但不包含可执行代码。

-F, --文件名=文件名
设置模块的文件名。 默认是使用规范的基本名称
文件(没有任何扩展名)。

-H, - 帮帮我
显示使用消息并退出。

-H, --堆=尺寸
以字节为单位指定模块本地堆的大小(仅对Win16模块有效);
默认是没有本地堆。

-I 目录
忽略与 C 编译器的兼容性。

-k, --kill-at
从生成的 .def 文件中的符号名称中删除 stdcall 修饰。
只在有意义 --def 模式。

-K 标志
忽略与 C 编译器的兼容性。

--大地址感知
在可执行文件中设置一个标志以通知加载程序此应用程序支持
地址空间大于 2 GB。

--ld-cmd=ld命令
指定用于链接目标文件的命令; 默认是 ld.

-L, --库路径=目录
将指定的目录附加到要搜索的目录列表中
导入库。

-l, --图书馆=姓名
导入指定的库,寻找对应的 库名.def 文件中
指定的目录 -L 选项。

-m16, -m32, -立方米
分别生成 16 位、32 位或 64 位代码。

-M, --主模块=模块
构建 16 位 dll 时,将其 32 位对应项的名称设置为 模块。 这
用于强制 16 位 dll 的加载顺序与
32 位一个。

-N, --dll-名称=dll名称
设置模块的内部名称。 它仅用于 Win16 模块。 默认的
是使用规范文件的基本名称(不带任何扩展名)。 这用于
内核,因为它位于 KRNL386.EXE 中。 否则应该不需要它。

--nm-cmd=nm命令
指定用于获取未定义符号列表的命令; 默认是 nm.

--nxcompat=|没有
指定模块是否与 no-exec 支持兼容。 默认为是。

-o, --输出=文件
设置输出文件的名称(默认为标准输出)。 如果输出文件
名称以 .o 结尾,文本输出被发送到一个临时文件,然后组装
生成指定的 .o 文件。

-r, --res=资源文件
从指定的二进制资源文件加载资源。 这 资源文件 文件可以是
从源资源文件生成 WRC(1)(或带有 Windows 资源
编译器)。
这个选项只有Win16资源文件才需要,Win32资源文件就可以了
列为 输入 并且会自动被正确处理(虽然 -r
选项也适用于 Win32 文件)。

--保存临时
不要删除各种临时文件 酿酒厂 产生。

--子系统=子系统[:主要[.未成年人]]
设置可执行文件的子系统,可以是以下之一:
领事 对于命令行可执行文件,
窗户 对于图形可执行文件,
本地人 对于本机模式 dll,
畏缩 对于 ce dll。
命令行可执行文件的入口点是一个普通的 C 功能。 一种 主界面
如果您需要参数数组来使用 Unicode 字符串,则可以改用函数。
图形可执行文件具有 主程序 入口点。
可选地,还可以指定主要和次要子系统版本; 默认的
子系统版本为 4.0。

-你, --未定义=符号
地址 符号 到调用链接器时的未定义符号列表。 这使它
可以在以下情况下强制包含静态库的特定模块
解决进口。

-v, --详细
显示正在调用的各种子命令 酿酒厂.

- 版
显示程序版本并退出。

-w, --警告
打开警告。

SPEC 文件 句法


总类 句法
规范文件应包含序数声明列表。 一般语法是
在以下:

序数 函数类型 [标志] 出口名称 ( [参数...] ) [处理器]
序数 变量 [标志] 出口名称 ( [数据...] )
序数 外部 [标志] 出口名称 [符号名]
序数 存根 [标志] 出口名称 [ (参数...) ]
序数 等同 [标志] 出口名称 data
# 注释

声明必须在一行中,除非行尾使用
反斜杠字符。 这 # 一行中任意位置的字符会导致该行的其余部分变为
作为评论忽略。

序数 指定对应入口点的序号,或 '@' 表示
自动顺序分配(仅限 Win32)。

标志 是一系列可选标志,前面有一个“-”字符。 支持的标志是:

-norelay
入口点不会显示在中继调试跟踪中(仅限 Win32)。

-无名
入口点将按序号而不是按名称导出。 名字是
仍然可以进口。

-ret16 该函数返回一个 16 位值(仅限 Win16)。

-ret64 该函数返回一个 64 位值(仅限 Win32)。

-寄存器
该函数使用 CPU 寄存器来传递参数。

-私人的
该函数不能从其他dll导入,只能访问
通过 GetProcAddress。

-序数
入口点将按序号而不是按名称导入。 名字是
仍然出口。

-拱=CPU[,CPU]
入口点仅在指定的 CPU 架构上可用。 这
名称 win32win64 匹配所有 32 位或 64 位 CPU 架构
分别。 在 16 位 dll 中,指定 -arch=win32 导致入口点
要从 32 位包装器模块导出。

功能 平凡的
语法:
序数 函数类型 [标志] 出口名称 ( [参数...] ) [处理器]

该声明定义了一个函数入口点。 定义的原型
出口名称 ( [参数...] ) 指定可用于动态链接的名称和格式
的论点。 可以使用“@”代替 出口名称 仅用于序数导出。

函数类型 应该是以下之一:

STDCALL
对于普通的 Win32 函数

帕斯卡 对于普通的 Win16 函数

CDECL 对于使用 C 调用约定的 Win16 或 Win32 函数

可变参数
对于使用带有变量的 C 调用约定的 Win16 或 Win32 函数
参数数量

这个电话
对于 Win32 函数,使用 这个电话 调用约定(第一个参数
在 i386 上的 %ecx 寄存器中)

ARGS 应该是以下一项或多项:

(16 位无符号值)

(16 位有符号字)

(指针大小的整数值)

int64 (64 位整数值)

int128 (128 位整数值)

浮动 (32 位浮点值)

翻番 (64 位浮点值)

PTR (线性指针)

STR (指向以空字符结尾的 ASCII 字符串的线性指针)

字符串 (指向以空字符结尾的 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 word word ptr) WIN_CreateWindow

要使用可变数量的参数声明函数,请将函数指定为
可变参数 并在 C 文件中使用 Win32 函数的“...”参数声明它,或者使用
Win16 函数的额外 VA_LIST16 参数。 参见 wsprintf* 函数
以 user.exe.spec 和 user32.spec 为例。

变量 平凡的
语法:
序数 变量 [标志] 出口名称 ( [数据...] )

该声明将数据存储定义为指定序号的 32 位字。
出口名称 将是可用于动态链接的名称。 data 可以是十进制数
或以“0x”开头的十六进制数。 下面的例子定义了变量 VariableA 在
序数 2 并包含 4 个整数:

2 变量 VariableA(-1 0xff 0 0)

此声明仅适用于 Win16 规范文件。 在 Win32 中,您应该使用 外部 代替
(见下文)。

平凡的
语法:
序数 外部 [标志] 出口名称 [符号名]

此声明定义了一个简单映射到 C 符号(变量或函数)的条目。
它仅适用于 Win32 规范文件。 出口名称 将指向符号 符号名
必须在 C 代码中定义。 或者,它可以是以下形式 dll名称.符号名
定义一个转发符号(其实现在另一个 dll 中)。 如果 符号名 is
未指定,假定与 出口名称。

存根 平凡的
语法:
序数 存根 [标志] 出口名称 [ (参数...) ]

这个声明定义了一个存根函数。 它使名称和序数可用于
动态链接,但如果函数是
曾经叫过。

等同 平凡的
语法:
序数 等同 [标志] 出口名称 data

此声明将序数定义为绝对值。 出口名称 将是名字
可用于动态链接。 data 可以是十进制数或前面有十六进制数
“0x”。

作者


酿酒厂 多年来一直被许多人研究。 主要作者是罗伯特·J。
阿姆施塔特、亚历山大·朱利亚德、马丁·冯·洛伊斯、乌尔里希·魏甘德和埃里克·扬代尔。 许多
其他人贡献了新功能和错误修复。 有关完整列表,请参阅 git
提交日志。

使用 onworks.net 服务在线使用 winebuild


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    计算工具
    计算工具
    Java 源代码旨在用作
    数学和教学的纽带
    用于计算的软件解决方案
    迭代方程。 公共接口
    允许...
    下载 CalcTools
  • 2
    Rocket.Chat 桌面客户端
    Rocket.Chat 桌面客户端
    Rocket.Chat 桌面客户端是
    Rocket.Chat 的官方桌面应用程序,
    简单但强大的开源网络
    聊天平台。 它在 macOS 上测试过,
    视窗...
    下载 Rocket.Chat 桌面客户端
  • 3
    办公楼层
    办公楼层
    OfficeFloor 提供反转
    耦合控制,其: - 依赖
    注射 - 持续注射 -
    线程注入更多信息
    参观...
    下载 OfficeFloor
  • 4
    分区工具包
    分区工具包
    DivKit 是一个开源的服务器驱动
    用户界面(SDUI)框架。 它可以让你
    推出来自服务器的更新
    不同的应用程序版本。 另外,还可以是
    用于...
    下载 DivKit
  • 5
    子转换器
    子转换器
    各种工具之间的转换
    订阅格式。 暗影火箭用户
    应使用 ss、ssr 或 v2ray 作为目标。
    您可以将 &remark= 添加到
    类似电报的 HT...
    下载子转换器
  • 6
    冲锋衣
    冲锋衣
    SWASH 是一个通用的数字
    模拟不稳定的工具,
    非流体静力,自由表面,
    旋转流和传输现象
    在沿海水域...
    下载SWASH
  • 更多 ”

Linux 命令

Ad