Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Chạy máy chủ | Ubuntu > | Fedora > |


Biểu tượng yêu thích OnWorks

winebuild - Trực tuyến trên đám mây

Chạy winebuild trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh winebuild có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


winebuild - Trình tạo dll rượu

SYNOPSIS


nhà máy rượu [lựa chọn] [tập tin đầu vào...]

MÔ TẢ


nhà máy rượu tạo các tệp hợp ngữ cần thiết để xây dựng một dll Wine, đó là
về cơ bản là một dll Win32 được đóng gói bên trong một thư viện Unix.

nhà máy rượu có các chế độ khác nhau, tùy thuộc vào loại tệp mà nó được yêu cầu tạo. Các
chế độ được chỉ định bởi một trong các tùy chọn chế độ được chỉ định bên dưới. Ngoài chế độ
tùy chọn, nhiều tùy chọn dòng lệnh khác có thể được chỉ định, như được mô tả trong LỰA CHỌN
phần.

PHƯƠNG THỨC LỰA CHỌN


Bạn phải chỉ định chính xác một trong các tùy chọn sau, tùy thuộc vào những gì bạn muốn
xây dựng rượu vang để tạo ra.

--dll Tạo tệp hợp ngữ từ tệp .spec (xem ĐẶC BIỆT FILE TỔNG HỢP để biết chi tiết), hoặc
từ tệp .def chuẩn của Windows. Tệp .spec / .def được chỉ định thông qua -E
Lựa chọn. Tệp kết quả phải được tập hợp và liên kết với các tệp đối tượng khác
để xây dựng một dll Wine hoạt động. Trong chế độ này, đầu vào các tập tin nên là danh sách của
tất cả các tệp đối tượng sẽ được liên kết vào dll cuối cùng, để cho phép nhà máy rượu để có được
danh sách tất cả các ký hiệu chưa xác định cần được nhập từ các khối khác.

--exe Xây dựng một tệp hợp ngữ cho một tệp thực thi. Điều này về cơ bản giống với --dll
ngoại trừ việc nó không yêu cầu tệp .spec / .def làm đầu vào, vì tệp thực thi
không cần các chức năng xuất khẩu. Tuy nhiên, một số tệp thực thi có chức năng xuất khẩu và cho
những tệp .spec / .def có thể được chỉ định thông qua -E Lựa chọn. Tệp thực thi được đặt tên
từ tên tệp .spec / .def nếu có, hoặc rõ ràng thông qua -F Lựa chọn. Các
tệp kết quả phải được tập hợp và liên kết với các tệp đối tượng khác để tạo
làm việc Wine thực thi và tất cả các tệp đối tượng khác phải được liệt kê là đầu vào
các tập tin.

--def Tạo tệp .def từ tệp đặc tả. Tệp .spec được chỉ định thông qua -E tùy chọn.
Điều này được sử dụng khi xây dựng dlls bằng trình biên dịch PE (Win32).

--implib
Xây dựng một thư viện nhập PE từ một tệp đặc tả. Tệp .spec được chỉ định thông qua -E
tùy chọn.

--tài nguyên
Tạo tệp .o chứa tất cả các tài nguyên đầu vào. Điều này rất hữu ích khi xây dựng
với trình biên dịch PE, vì binutils PE không thể xử lý nhiều tệp tài nguyên như
đầu vào. Đối với một bản dựng Unix tiêu chuẩn, các tệp tài nguyên được tự động bao gồm
khi xây dựng tệp đặc tả, vì vậy không cần tệp .o trung gian.

LỰA CHỌN


--as-cmd =như lệnh
Chỉ định lệnh sử dụng để biên dịch các tệp hợp ngữ; mặc định là as.

-NS, - mục tiêu =nhà sản xuất cpu[-hạt nhân]-os
Chỉ định CPU mục tiêu và nền tảng mà mã được tạo sẽ được xây dựng. Các
đặc điểm kỹ thuật đích ở định dạng autoconf tiêu chuẩn như được trả về bởi config.sub.

--cc-cmd =cc-lệnh
Chỉ định trình biên dịch C để sử dụng để biên dịch các tệp hợp ngữ; mặc định là thay thế
sử dụng trình hợp dịch được chỉ định với --as-cmd.

-NS, --delay-lib =tên
Đặt chế độ nhập bị trì hoãn cho thư viện được chỉ định, chế độ này phải là một trong các
thư viện được nhập với -l Lựa chọn. Chế độ trì hoãn có nghĩa là thư viện sẽ không
được tải cho đến khi một hàm được nhập từ nó thực sự được gọi.

-D biểu tượng
Bỏ qua khả năng tương thích với trình biên dịch C.

-e, --entry =chức năng
Chỉ định chức năng điểm vào mô-đun; nếu không được chỉ định, mặc định là DllMain
cho dlls, và chính cho các tệp thực thi (nếu tiêu chuẩn C chính không được xác định, WinMain
được sử dụng thay thế). Điều này chỉ hợp lệ cho các mô-đun Win32.

-E, --export =tên tập tin
Chỉ định tệp .spec (xem ĐẶC BIỆT FILE TỔNG HỢP để biết thông tin chi tiết) hoặc Windows .def tiêu chuẩn
tệp xác định các xuất của DLL hoặc tệp thực thi đang được xây dựng.

- ký hiệu bên ngoài
Cho phép liên kết với các ký hiệu bên ngoài trực tiếp từ tệp đặc tả. Thông thường các ký hiệu
được xuất bởi một dll phải được định nghĩa trong chính dll đó; tùy chọn này làm cho nó
có thể sử dụng các ký hiệu được xác định trong thư viện Unix khác (đối với các ký hiệu được định nghĩa trong
dll khác, một phía trước đặc điểm kỹ thuật phải được sử dụng thay thế).

-f tùy chọn
Chỉ định một tùy chọn tạo mã. Hiện tại -fPIC-fasynchronous-unwind-table
được hỗ trợ. Các tùy chọn khác được bỏ qua để tương thích với trình biên dịch C.

--fake-mô-đun
Tạo mô-đun PE giả cho dll hoặc exe, thay vì đối tượng hoặc tổ hợp thông thường
tập tin. Mô-đun PE chứa các tài nguyên cho mô-đun, nhưng không có mã thực thi.

-NS, --tên tệp =tên tập tin
Đặt tên tệp của mô-đun. Mặc định là sử dụng tên cơ sở của thông số kỹ thuật
tệp (không có bất kỳ phần mở rộng nào).

-NS, --Cứu giúp
Hiển thị thông báo sử dụng và thoát.

-NS, --heap =kích thước
Chỉ định kích thước của đống cục bộ mô-đun tính bằng byte (chỉ hợp lệ cho mô-đun Win16);
mặc định là không có đống cục bộ.

-I thư mục
Bỏ qua khả năng tương thích với trình biên dịch C.

-k, --kill-at
Loại bỏ các trang trí stdcall khỏi tên biểu tượng trong tệp .def đã tạo.
Chỉ có ý nghĩa trong --def chế độ.

-K cờ
Bỏ qua khả năng tương thích với trình biên dịch C.

- nhận biết địa chỉ lớn
Đặt cờ trong tệp thực thi để thông báo cho trình tải rằng ứng dụng này hỗ trợ
không gian địa chỉ lớn hơn 2 gigabyte.

--ld-cmd =lệnh ld
Chỉ định lệnh sử dụng để liên kết các tệp đối tượng; mặc định là ld.

-L, --library-path =thư mục
Nối thư mục đã chỉ định vào danh sách các thư mục được tìm kiếm
nhập các thư viện.

-l, --library =tên
Nhập thư viện được chỉ định, tìm kiếm một thư viện tương ứng libname.def tập tin trong
thư mục được chỉ định với -L tùy chọn.

-m16, -m32, -m64
Tạo mã 16 bit, 32 bit hoặc 64 bit tương ứng.

-NS, --main-mô-đun =mô-đun
Khi xây dựng một dll 16 bit, hãy đặt tên của bản sao 32 bit của nó thành mô-đun. Điều này
được sử dụng để thực thi thứ tự tải cho dll 16 bit khớp với thứ tự tải
32-bit một.

-N, --dll-name =dllname
Đặt tên nội bộ của mô-đun. Nó chỉ được sử dụng trong các mô-đun Win16. Mặc định
là sử dụng tên cơ sở của tệp đặc tả (không có bất kỳ phần mở rộng nào). Điều này được sử dụng cho
KERNEL, vì nó nằm trong KRNL386.EXE. Nó không cần thiết nếu không.

--nm-cmd =lệnh nm
Chỉ định lệnh sử dụng để lấy danh sách các ký hiệu không xác định; mặc định là nm.

--nxcompat =Vâng|Không
Chỉ định xem liệu mô-đun có tương thích với hỗ trợ không thực thi hay không. Mặc định là có.

-o, --output =hồ sơ
Đặt tên của tệp đầu ra (mặc định là đầu ra tiêu chuẩn). Nếu tệp đầu ra
tên kết thúc bằng .o, đầu ra văn bản được gửi đến một tệp tạm thời, sau đó được tập hợp
để tạo tệp .o được chỉ định.

-NS, --res =rsrc.res
Tải tài nguyên từ tệp tài nguyên nhị phân được chỉ định. Các rsrc.res tập tin có thể được
được tạo ra từ một tệp tài nguyên nguồn với viết(1) (hoặc với tài nguyên Windows
trình biên dịch).
Tùy chọn này chỉ cần thiết cho các tệp tài nguyên Win16, các tệp Win32 có thể đơn giản
được liệt kê là đầu vào các tập tin và sẽ tự động được xử lý chính xác (mặc dù -r
tùy chọn cũng sẽ hoạt động cho các tệp Win32).

--save-temps
Không xóa các tệp tạm thời khác nhau nhà máy rượu tạo ra.

- hệ thống phụ =hệ thống phụ[:chính[.nhỏ]]
Đặt hệ thống con của tệp thực thi, có thể là một trong những hệ thống sau:
giao diện điều khiển cho một dòng lệnh có thể thực thi,
cửa sổ cho một tệp thực thi đồ họa,
tự nhiên cho một dll chế độ gốc,
nhăn cho một dll ce.
Điểm đầu vào của một dòng lệnh có thể thực thi là một C bình thường chính hàm số. MỘT wmain
hàm có thể được sử dụng thay thế nếu bạn cần mảng đối số để sử dụng chuỗi Unicode.
Một tệp thực thi đồ họa có WinMain điểm vào.
Theo tùy chọn, một phiên bản hệ thống phụ chính và phụ cũng có thể được chỉ định; mặc định
phiên bản hệ thống con là 4.0.

-u, --undefined =biểu tượng
Thêm biểu tượng vào danh sách các ký hiệu không xác định khi gọi trình liên kết. Điều này làm cho nó
có thể buộc một mô-đun cụ thể của thư viện tĩnh được đưa vào khi
giải quyết nhập khẩu.

-v, --verbose
Hiển thị các lệnh con khác nhau đang được gọi bởi nhà máy rượu.

--phiên bản
Hiển thị phiên bản chương trình và thoát.

-w, - cảnh báo
Bật cảnh báo.

ĐẶC BIỆT FILE TỔNG HỢP


Tổng Quát cú pháp
Một tệp đặc tả phải chứa một danh sách các khai báo theo thứ tự. Cú pháp chung là
Sau đây:

thứ tự functype [cờ] tên người xuất khẩu ( [args ...] ) [xử lý]
thứ tự biến [cờ] tên người xuất khẩu ( [dữ liệu...] )
thứ tự bên ngoài [cờ] tên người xuất khẩu [tên ký hiệu]
thứ tự sơ khai [cờ] tên người xuất khẩu [ (args ...) ]
thứ tự đánh đồng [cờ] tên người xuất khẩu dữ liệu
# Comments

Các khai báo phải vừa trên một dòng, ngoại trừ trường hợp cuối dòng được thoát bằng cách sử dụng
ký tự gạch chéo ngược. Các # ký tự ở bất kỳ vị trí nào trong một dòng khiến phần còn lại của dòng là
bị bỏ qua như một bình luận.

thứ tự chỉ định số thứ tự tương ứng với điểm nhập hoặc '@' cho
phân bổ thứ tự tự động (chỉ Win32).

cờ là một loạt các cờ tùy chọn, đứng trước một ký tự '-'. Các cờ được hỗ trợ là:

-norelay
Điểm nhập không được hiển thị trong dấu vết gỡ lỗi chuyển tiếp (chỉ Win32).

-không tên
Điểm nhập sẽ được xuất theo thứ tự thay vì theo tên. Tên là
vẫn có sẵn để nhập.

-ret16 Hàm trả về giá trị 16 bit (chỉ dành cho Win16).

-ret64 Hàm trả về giá trị 64 bit (chỉ dành cho Win32).

-ghi danh
Hàm sử dụng thanh ghi CPU để truyền các đối số.

-riêng tư
Không thể nhập hàm từ các khối khác, nó chỉ có thể được truy cập
thông qua GetProcAddress.

-cuối cùng
Điểm nhập sẽ được nhập theo thứ tự thay vì theo tên. Tên là
vẫn xuất.

-arch =cpu[,cpu]
Điểm vào chỉ có sẵn trên (các) kiến ​​trúc CPU được chỉ định. Các
tên win32win64 phù hợp với tất cả các kiến ​​trúc CPU 32 bit hoặc 64 bit
tương ứng. Trong các dlls 16-bit, chỉ định -arch = win32 gây ra điểm vào
được xuất từ ​​mô-đun trình bao bọc 32-bit.

Chức năng Số thứ tự
Cú pháp:
thứ tự functype [cờ] tên người xuất khẩu ( [args ...] ) [xử lý]

Khai báo này xác định một điểm nhập hàm. Nguyên mẫu được xác định bởi
tên người xuất khẩu ( [args ...] ) chỉ định tên có sẵn cho liên kết động và định dạng
của các đối số. '@' có thể được sử dụng thay vì tên người xuất khẩu đối với xuất khẩu chỉ theo thứ tự.

functype nên là một trong số:

stdcall
cho một chức năng Win32 bình thường

pascal cho một chức năng Win16 bình thường

cdecl cho một hàm Win16 hoặc Win32 bằng cách sử dụng quy ước gọi C

kỳ đà
cho một hàm Win16 hoặc Win32 bằng cách sử dụng quy ước gọi C với một biến
số lượng các đối số

cuộc gọi này
cho một hàm Win32 bằng cách sử dụng cuộc gọi này quy ước gọi (tham số đầu tiên
trong% ecx đăng ký trên i386)

args. phải là một hoặc một số:

lời (Giá trị 16-bit không dấu)

thanh kiếm (Từ có dấu 16 bit)

Dài (giá trị số nguyên có kích thước bằng con trỏ)

intxnumx (Giá trị số nguyên 64 bit)

intxnumx (Giá trị số nguyên 128 bit)

phao (Giá trị dấu phẩy động 32-bit)

tăng gấp đôi (Giá trị dấu phẩy động 64-bit)

ptr (con trỏ tuyến tính)

str (con trỏ tuyến tính đến một chuỗi ASCII kết thúc bằng null)

wstr (con trỏ tuyến tính đến một chuỗi Unicode kết thúc bằng null)

segptr (con trỏ được phân đoạn)

segstr (con trỏ được phân đoạn tới một chuỗi ASCII được kết thúc bằng null).

Lưu ý: Loại con trỏ 16 bit và được phân đoạn chỉ hợp lệ cho các hàm Win16.

xử lý là tên của hàm C thực sẽ triển khai điểm nhập đó trong
Chế độ 32-bit. Trình xử lý cũng có thể được chỉ định là dllname.chức năng để xác định một chuyển tiếp
chức năng (một chức năng có triển khai trong một dll khác). Nếu như xử lý không được chỉ định, nó là
giả định là giống với tên người xuất khẩu.

Ví dụ đầu tiên này xác định một điểm vào cho lệnh gọi GetFocus () 32-bit:

@ stdcall GetFocus () GetFocus

Ví dụ thứ hai này xác định một điểm vào cho lệnh gọi CreateWindow () 16-bit (thứ tự
100 chỉ là một ví dụ); nó cũng hiển thị cách các dòng dài có thể được phân chia bằng cách sử dụng dấu gạch chéo ngược:

100 pascal CreateWindow (ptr ptr dài s_word s_word s_word \
s_word word word word word ptr) WIN_CreateWindow

Để khai báo một hàm bằng cách sử dụng một số biến đối số, hãy chỉ định hàm là
kỳ đà và khai báo nó trong tệp C với tham số '...' cho một hàm Win32 hoặc với
một đối số VA_LIST16 bổ sung cho một hàm Win16. Xem các hàm wsprintf * trong
user.exe.spec và user32.spec để làm ví dụ.

Biến Số thứ tự
Cú pháp:
thứ tự biến [cờ] tên người xuất khẩu ( [dữ liệu...] )

Khai báo này định nghĩa lưu trữ dữ liệu là các từ 32 bit tại thứ tự được chỉ định.
tên người xuất khẩu sẽ là tên có sẵn cho liên kết động. dữ liệu có thể là một số thập phân
hoặc một số hex đứng trước "0x". Ví dụ sau định nghĩa biến VariableA tại
thứ tự 2 và chứa 4 int:

2 biến VariableA (-1 0xff 0 0)

Khai báo này chỉ hoạt động trong các tệp thông số kỹ thuật Win16. Trong Win32 bạn nên sử dụng bên ngoài thay vì
(xem bên dưới).

Ngoài Số thứ tự
Cú pháp:
thứ tự bên ngoài [cờ] tên người xuất khẩu [tên ký hiệu]

Khai báo này định nghĩa một mục nhập chỉ đơn giản là ánh xạ tới một ký hiệu C (biến hoặc hàm).
Nó chỉ hoạt động trong các tệp thông số kỹ thuật Win32. tên người xuất khẩu sẽ chỉ vào biểu tượng tên ký hiệu việc này
phải được xác định trong mã C. Ngoài ra, nó có thể có dạng dllname.tên ký hiệu đến
xác định một ký hiệu được chuyển tiếp (một ký hiệu mà việc triển khai nằm trong một dll khác). Nếu như tên ký hiệu is
không được chỉ định, nó được giả định là giống với tên người xuất khẩu.

Stub Số thứ tự
Cú pháp:
thứ tự sơ khai [cờ] tên người xuất khẩu [ (args ...) ]

Khai báo này định nghĩa một hàm sơ khai. Nó làm cho tên và thứ tự có sẵn cho
liên kết động, nhưng sẽ chấm dứt thực thi với một thông báo lỗi nếu hàm
đã từng được gọi.

Công bằng Số thứ tự
Cú pháp:
thứ tự đánh đồng [cờ] tên người xuất khẩu dữ liệu

Khai báo này định nghĩa một thứ tự là một giá trị tuyệt đối. tên người xuất khẩu sẽ là tên
có sẵn cho liên kết động. dữ liệu có thể là một số thập phân hoặc một số thập lục phân đứng trước
"0x".

TÁC GIẢ


nhà máy rượu đã được nhiều người làm trong nhiều năm qua. Các tác giả chính là Robert J.
Amstadt, Alexandre Julliard, Martin von Loewis, Ulrich Weigand và Eric Youngdale. Nhiều
những người khác đã đóng góp các tính năng mới và sửa lỗi. Để có danh sách đầy đủ, hãy xem git
cam kết nhật ký.

Sử dụng winebuild trực tuyến bằng dịch vụ onworks.net


Ad


Ad