InglésFrancésEspañol

Ejecutar servidores | Ubuntu > | Fedora > |


icono de página de OnWorks

winebuild-development - Online en la nube

Ejecute winebuild-development en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando winebuild-development que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


winebuild - Constructor de dll de vino

SINOPSIS


construcción de vinos [opciones] [fichero de entrada...]

DESCRIPCIÓN


construcción de vinos genera los archivos de ensamblaje necesarios para construir una dll de Wine, que es
básicamente un dll de Win32 encapsulado dentro de una biblioteca de Unix.

construcción de vinos tiene diferentes modos, dependiendo del tipo de archivo que se le solicite generar. los
El modo se especifica mediante una de las opciones de modo que se especifican a continuación. Además del modo
opción, se pueden especificar varias otras opciones de línea de comandos, como se describe en la OPCIONES
.

MODO OPCIONES


Tienes que especificar exactamente una de las siguientes opciones, dependiendo de lo que quieras
winebuild para generar.

--dll Cree un archivo de ensamblaje a partir de un archivo .spec (consulte SPEC ARCHIVO SINTAXIS para más detalles), o
desde un archivo .def estándar de Windows. El archivo .spec / .def se especifica mediante el -E
opción. El archivo resultante debe estar ensamblado y vinculado a los otros archivos de objeto.
para construir una dll de Wine que funcione. En este modo, el datos de entrada archivos debería ser la lista de
todos los archivos de objeto que se vincularán a la dll final, para permitir construcción de vinos para obtener
la lista de todos los símbolos indefinidos que deben importarse desde otras DLL.

--exe Cree un archivo de ensamblaje para un ejecutable. Esto es básicamente lo mismo que el --dll
modo excepto que no requiere un archivo .spec / .def como entrada, ya que un ejecutable
no es necesario exportar funciones. Sin embargo, algunos ejecutables exportan funciones, y para
esos un archivo .spec / .def se pueden especificar a través del -E opción. El ejecutable se llama
del nombre de archivo .spec / .def si está presente, o explícitamente a través del -F opción. La
El archivo resultante debe ensamblarse y vincularse a los otros archivos de objeto para construir un
en funcionamiento, el ejecutable de Wine, y todos los demás archivos de objeto deben aparecer como datos de entrada
archivos.

--def Cree un archivo .def a partir de un archivo de especificaciones. El archivo .spec se especifica mediante el -E .
Esto se usa cuando se compilan dlls con un compilador PE (Win32).

--implib
Cree una biblioteca de importación de PE a partir de un archivo de especificaciones. El archivo .spec se especifica mediante el -E
.

--recursos
Genere un archivo .o que contenga todos los recursos de entrada. Esto es útil al construir
con un compilador PE, ya que las binutils PE no pueden manejar múltiples archivos de recursos como
aporte. Para una compilación estándar de Unix, los archivos de recursos se incluyen automáticamente
al crear el archivo de especificaciones, por lo que no es necesario un archivo .o intermedio.

OPCIONES


--as-cmd =como mando
Especifique el comando que se utilizará para compilar archivos de ensamblaje; el valor predeterminado es as.

-B, --target =fabricante de cpu[-núcleo]-os
Especifique la CPU y la plataforma de destino en las que se creará el código generado. los
La especificación de destino está en el formato estándar de autoconf devuelto por config.sub.

--cc-cmd =comando cc
Especifique el compilador de C que se utilizará para compilar archivos de ensamblaje; el valor predeterminado es en su lugar
utilizar el ensamblador especificado con --como-cmd.

-D, --delay-lib =nombre
Establezca el modo de importación diferida para la biblioteca especificada, que debe ser una de las
bibliotecas importadas con el -l opción. El modo retrasado significa que la biblioteca no se
cargado hasta que se llame realmente a una función importada.

-D símbolo
Ignorado por compatibilidad con el compilador de C.

-mi, --entry =función
Especifique la función de punto de entrada del módulo; si no se especifica, el valor predeterminado es DllPrincipal
para dlls, y principal para ejecutables (si el estándar C principal no está definido, Winmain
se utiliza en su lugar). Esto solo es válido para módulos Win32.

-MI, --export =nombre de archivo
Especifique un archivo .spec (consulte SPEC ARCHIVO SINTAXIS para obtener más detalles), o un archivo .def estándar de Windows
archivo que define las exportaciones de la DLL o ejecutable que se está construyendo.

--externos-símbolos
Permitir la vinculación a símbolos externos directamente desde el archivo de especificaciones. Normalmente símbolos
exportados por una dll deben definirse en la propia dll; esta opción lo hace
posible utilizar símbolos definidos en otra biblioteca de Unix (para símbolos definidos en
otro dll, un HACIA EL FUTURO en su lugar se debe utilizar la especificación).

-f opción
Especifique una opción de generación de código. En la actualidad -fPIC y -mesas-de-desenrollado-sincronizado
son compatibles. Otras opciones se ignoran por compatibilidad con el compilador de C.

- módulo falso
Cree un módulo PE falso para un dll o exe, en lugar del ensamblaje u objeto normal
expediente. El módulo PE contiene los recursos para el módulo, pero ningún código ejecutable.

-F, --filename =nombre de archivo
Establezca el nombre de archivo del módulo. El valor predeterminado es usar el nombre base de la especificación
archivo (sin ninguna extensión).

-h, --ayuda
Muestre un mensaje de uso y salga.

-H, --heap =tamaño
Especifique el tamaño del montón local del módulo en bytes (solo válido para módulos Win16);
el valor predeterminado no es un montón local.

-I directorio
Ignorado por compatibilidad con el compilador de C.

-k, - matanza
Elimine las decoraciones de stdcall de los nombres de los símbolos en el archivo .def generado.
Solo significativo en --def modo.

-K banderas
Ignorado por compatibilidad con el compilador de C.

--consciente de direcciones grandes
Establecer una bandera en el ejecutable para notificar al cargador que esta aplicación es compatible
espacios de direcciones de más de 2 gigabytes.

--ld-cmd =comando ld
Especifique el comando que se utilizará para vincular los archivos de objeto; el valor predeterminado es ld.

-L, --library-path =directorio
Agregue el directorio especificado a la lista de directorios que se buscan
importar bibliotecas.

-yo, --library =nombre
Importe la biblioteca especificada, buscando un correspondiente libname.def presentar en el
directorios especificados con el -L .

-m16, -m32, -m64
Genere, respectivamente, código de 16 bits, 32 bits o 64 bits.

-marmar, -pulgar, -march =opción, -mcpu =opción
Establezca las opciones de generación de código para el ensamblador.

-METRO, --módulo-principal =módulo
Al crear una dll de 16 bits, establezca el nombre de su contraparte de 32 bits en módulo. Esto
se utiliza para hacer cumplir que el orden de carga de la dll de 16 bits coincide con el de la
Uno de 32 bits.

-NORTE, --dll-name =dllname
Establezca el nombre interno del módulo. Solo se usa en módulos Win16. El valor por defecto
es utilizar el nombre base del archivo de especificaciones (sin ninguna extensión). Esto se usa para
KERNEL, ya que vive en KRNL386.EXE. De lo contrario, no debería ser necesario.

--nm-cmd =comando nm
Especifique el comando que se utilizará para obtener la lista de símbolos indefinidos; el valor predeterminado es nm.

--nxcompat =si|no
Especifique si el módulo es compatible con el soporte no exec. El valor predeterminado es sí.

-o, --salida =presentar
Establezca el nombre del archivo de salida (el valor predeterminado es la salida estándar). Si el archivo de salida
el nombre termina en .o, la salida de texto se envía a un archivo temporal que luego se ensambla
para producir el archivo .o especificado.

-r, --res =rsrc.res
Cargue recursos del archivo de recursos binarios especificado. los rsrc.res el archivo puede ser
producido a partir de un archivo de recursos fuente con wrc(1) (o con un recurso de Windows
compilador).
Esta opción solo es necesaria para los archivos de recursos de Win16, los de Win32 pueden simplemente
catalogado como datos de entrada archivos y automáticamente se manejará correctamente (aunque el -r
La opción también funcionará para archivos Win32).

--save-temps
No elimine los distintos archivos temporales que construcción de vinos genera.

--subsystem =subsistema[:una gran diferencia [.menor de edad]]
Configure el subsistema del ejecutable, que puede ser uno de los siguientes:
consolar para un ejecutable de línea de comando,
ventanas para un ejecutable gráfico,
nativo para una dll en modo nativo,
contraerse de dolor por un ce dll.
El punto de entrada de un ejecutable de línea de comando es un C normal principal función. A principal
La función se puede usar en su lugar si necesita que la matriz de argumentos use cadenas Unicode.
Un ejecutable gráfico tiene un Winmain punto de entrada.
Opcionalmente, también se puede especificar una versión de subsistema mayor y menor; el valor por defecto
La versión del subsistema es 4.0.

-tu, --undefined =símbolo
Agregar símbolo a la lista de símbolos indefinidos al invocar el enlazador. Esto lo hace
posible forzar la inclusión de un módulo específico de una biblioteca estática cuando
resolución de importaciones.

-v, --verboso
Muestra los distintos subcomandos que invoca construcción de vinos.

--versión
Muestre la versión del programa y salga.

-w, - advertencias
Activa las advertencias.

SPEC ARCHIVO SINTAXIS


General sintaxis
Un archivo de especificaciones debe contener una lista de declaraciones ordinales. La sintaxis general es la
siguientes:

ordinal tipo de función [banderas] nombreexportación ( [argumentos ...] ) [entrenador de animales]
ordinal variable [banderas] nombreexportación ( [datos...] )
ordinal externo [banderas] nombreexportación [nombre del símbolo]
ordinal talón [banderas] nombreexportación [ (argumentos ...) ]
ordinal equiparar [banderas] nombreexportación datos
# comentarios

Las declaraciones deben caber en una sola línea, excepto si el final de la línea se escapa usando un
carácter de barra invertida. los # carácter en cualquier lugar de una línea hace que el resto de la línea sea
ignorado como comentario.

ordinal especifica el número ordinal correspondiente al punto de entrada, o '@' para
Asignación ordinal automática (solo Win32).

banderas es una serie de banderas opcionales, precedidas por un carácter '-'. Las banderas admitidas son:

-norelé
El punto de entrada no se muestra en los seguimientos de depuración de retransmisión (solo Win32).

-sin nombre
El punto de entrada se exportará por ordinal en lugar de por nombre. El nombre es
todavía disponible para importar.

-ret16 La función devuelve un valor de 16 bits (solo Win16).

-ret64 La función devuelve un valor de 64 bits (solo Win32).

-registro
La función usa el registro de la CPU para pasar argumentos.

-privado
La función no se puede importar desde otros dlls, solo se puede acceder a ella
a través de GetProcAddress.

-ordinal
El punto de entrada se importará por ordinal en lugar de por nombre. El nombre es
todavía exportado.

-arch =cpu[,cpu]
El punto de entrada solo está disponible en las arquitecturas de CPU especificadas. los
nombres win32 y win64 coincidir con todas las arquitecturas de CPU de 32 o 64 bits
respectivamente. En dlls de 16 bits, especificando -arch = win32 provoca el punto de entrada
que se exportará desde el módulo contenedor de 32 bits.

Función ordinales
Sintaxis:
ordinal tipo de función [banderas] nombreexportación ( [argumentos ...] ) [entrenador de animales]

Esta declaración define un punto de entrada de función. El prototipo definido por
nombreexportación ( [argumentos ...] ) especifica el nombre disponible para la vinculación dinámica y el formato
de los argumentos. '@' se puede usar en lugar de nombreexportación para exportaciones solo ordinales.

tipo de función debe ser uno de:

stdcall
para una función normal de Win32

pascal para una función normal de Win16

cdecl para una función Win16 o Win32 usando la convención de llamadas de C

Varargs
para una función Win16 o Win32 usando la convención de llamada de C con una variable
número de argumentos

esta llamada
para una función Win32 usando el esta llamada convención de llamada (primer parámetro
en el registro% ecx en i386)

args debe ser uno o varios de:

por el temor (Valor sin firmar de 16 bits)

espada (Palabra firmada de 16 bits)

Corto (valor entero del tamaño de un puntero)

int64 (Valor entero de 64 bits)

int128 (Valor entero de 128 bits)

flotar (Valor de coma flotante de 32 bits)

doble (Valor de coma flotante de 64 bits)

ptr (puntero lineal)

str (puntero lineal a una cadena ASCII terminada en nulo)

wstr (puntero lineal a una cadena Unicode terminada en nulo)

segmento (puntero segmentado)

segstr (puntero segmentado a una cadena ASCII terminada en nulo).

Nota: Los tipos de puntero segmentado y de 16 bits solo son válidos para funciones de Win16.

entrenador de animales es el nombre de la función C real que implementará ese punto de entrada en
Modo de 32 bits. El controlador también se puede especificar como dllname.función para definir un reenviado
función (una cuya implementación está en otra dll). Si entrenador de animales no se especifica, es
se supone que es idéntico a nombre de exportación.

Este primer ejemplo define un punto de entrada para la llamada GetFocus () de 32 bits:

@ stdcall GetFocus () GetFocus

Este segundo ejemplo define un punto de entrada para la llamada CreateWindow () de 16 bits (el ordinal
100 es solo un ejemplo); también muestra la longitud de las líneas que se pueden dividir usando una barra invertida:

100 pascal CreateWindow (ptr ptr long s_word s_word s_word \
s_word palabra palabra palabra ptr) WIN_CreateWindow

Para declarar una función usando un número variable de argumentos, especifique la función como
Varargs y declararlo en el archivo C con un parámetro '...' para una función Win32, o con
un argumento VA_LIST16 adicional para una función Win16. Vea las funciones de wsprintf * en
user.exe.spec y user32.spec por ejemplo.

Variable ordinales
Sintaxis:
ordinal variable [banderas] nombreexportación ( [datos...] )

Esta declaración define el almacenamiento de datos como palabras de 32 bits en el ordinal especificado.
nombreexportación será el nombre disponible para la vinculación dinámica. datos puede ser un número decimal
o un número hexadecimal precedido por "0x". El siguiente ejemplo define la variable VariableA en
ordinal 2 y que contiene 4 pulgadas:

2 variables VariableA (-1 0xff 0 0)

Esta declaración solo funciona en archivos de especificaciones de Win16. En Win32 debes usar externo
(vea abajo).

Externo ordinales
Sintaxis:
ordinal externo [banderas] nombreexportación [nombre del símbolo]

Esta declaración define una entrada que simplemente se asigna a un símbolo C (variable o función).
Solo funciona en archivos de especificaciones de Win32. nombreexportación apuntará al símbolo nombre del símbolo que
debe estar definido en el código C. Alternativamente, puede ser de la forma dllname.nombre del símbolo a
definir un símbolo reenviado (uno cuya implementación está en otra dll). Si nombre del símbolo is
no especificado, se supone que es idéntico a nombre de exportación.

Talón ordinales
Sintaxis:
ordinal talón [banderas] nombreexportación [ (argumentos ...) ]

Esta declaración define una función stub. Hace que el nombre y el ordinal estén disponibles para
vinculación dinámica, pero terminará la ejecución con un mensaje de error si la función es
alguna vez llamado.

Equiparar ordinales
Sintaxis:
ordinal equiparar [banderas] nombreexportación datos

Esta declaración define un ordinal como valor absoluto. nombreexportación será el nombre
disponible para enlaces dinámicos. datos puede ser un número decimal o un número hexadecimal precedido por
"0x".

AUTORES


construcción de vinos ha sido trabajado por muchas personas a lo largo de los años. Los principales autores son Robert J.
Amstadt, Alexandre Julliard, Martin von Loewis, Ulrich Weigand y Eric Youngdale. Muchos
otras personas han contribuido con nuevas funciones y correcciones de errores. Para obtener una lista completa, consulte el git
cometer registros.

Use winebuild-development en línea usando los servicios de onworks.net


Ad


Ad