AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

winebuild-developpement - En ligne dans le Cloud

Exécutez winebuild-development dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande winebuild-development qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


winebuild - Générateur de dll Wine

SYNOPSIS


le vin [Options] [fichier d'entrée...]

DESCRIPTION


le vin génère les fichiers d'assemblage nécessaires à la création d'une dll Wine, qui est
essentiellement une dll Win32 encapsulée dans une bibliothèque Unix.

le vin a différents modes, selon le type de fichier qu'il est demandé de générer. Les
mode est spécifié par l'une des options de mode spécifiées ci-dessous. En plus du mode
option, diverses autres options de ligne de commande peuvent être spécifiées, comme décrit dans le OPTIONS
.

MODE OPTIONS


Vous devez spécifier exactement l'une des options suivantes, selon ce que vous voulez
winebuild à générer.

--dll Construisez un fichier d'assemblage à partir d'un fichier .spec (voir SPEC DOSSIER SYNTAXE pour plus de détails), ou
à partir d'un fichier .def standard de Windows. Le fichier .spec/.def est spécifié via le -E
option. Le fichier résultant doit être assemblé et lié aux autres fichiers objets
pour créer une dll Wine fonctionnelle. Dans ce mode, le contribution fichiers devrait être la liste des
tous les fichiers objets qui seront liés dans la dll finale, pour permettre le vin obtenir
la liste de tous les symboles non définis qui doivent être importés d'autres DLL.

--EXE Construisez un fichier d'assemblage pour un exécutable. C'est fondamentalement la même chose que le --dll
sauf qu'il ne nécessite pas de fichier .spec/.def en entrée, car un exécutable
n'a pas besoin d'exporter les fonctions. Cependant, certains exécutables exportent des fonctions, et pour
ceux qu'un fichier .spec/.def peut être spécifié via le -E option. L'exécutable est nommé
à partir du nom de fichier .spec/.def s'il est présent, ou explicitement via le -F option. La
le fichier résultant doit être assemblé et lié aux autres fichiers objet pour construire un
exécutable Wine de travail, et tous les autres fichiers objet doivent être répertoriés comme contribution
fichiers.

--déf Construisez un fichier .def à partir d'un fichier de spécifications. Le fichier .spec est spécifié via le -E option.
Ceci est utilisé lors de la création de DLL avec un compilateur PE (Win32).

--implib
Créez une bibliothèque d'importation PE à partir d'un fichier de spécifications. Le fichier .spec est spécifié via le -E
option.

--Ressources
Générez un fichier .o contenant toutes les ressources d'entrée. Ceci est utile lors de la construction
avec un compilateur PE, car les binutils PE ne peuvent pas gérer plusieurs fichiers de ressources comme
saisir. Pour une version Unix standard, les fichiers de ressources sont automatiquement inclus
lors de la construction du fichier de spécification, il n'est donc pas nécessaire d'avoir un fichier .o intermédiaire.

OPTIONS


--as-cmd=en tant que commande
Spécifiez la commande à utiliser pour compiler les fichiers d'assemblage ; la valeur par défaut est as.

-b, --cible=cpu-fabricant[-kernel]-os
Spécifiez le processeur cible et la plate-forme sur lesquels le code généré sera construit. Les
la spécification de la cible est au format autoconf standard tel que renvoyé par config.sub.

--cc-cmd=cc-commande
Spécifiez le compilateur C à utiliser pour compiler les fichiers d'assemblage ; la valeur par défaut est à la place
utiliser l'assembleur spécifié avec --as-cmd.

-ré, --delay-lib=prénom
Définissez le mode d'importation différée pour la bibliothèque spécifiée, qui doit être l'un des
bibliothèques importées avec le -l option. Le mode différé signifie que la bibliothèque ne sera pas
chargé jusqu'à ce qu'une fonction importée à partir de celui-ci soit réellement appelée.

-D symbole
Ignoré pour compatibilité avec le compilateur C.

-e, --entrée=fonction
Spécifiez la fonction de point d'entrée du module ; si non spécifié, la valeur par défaut est DllMain
pour les dll, et principal pour les exécutables (si la norme C principal n'est pas défini, Winmain
est utilisé à la place). Ceci n'est valable que pour les modules Win32.

-ET, --export=nom de fichier
Spécifiez un fichier .spec (voir SPEC DOSSIER SYNTAXE pour plus de détails), ou un Windows .def standard
qui définit les exportations de la DLL ou de l'exécutable en cours de génération.

--symboles-externes
Autoriser la liaison à des symboles externes directement à partir du fichier de spécifications. Normalement des symboles
exportés par une dll doivent être définis dans la dll elle-même ; cette option permet
possible d'utiliser des symboles définis dans une autre bibliothèque Unix (pour les symboles définis dans
une autre dll, une : spécification doit être utilisée à la place).

-f option
Spécifiez une option de génération de code. Actuellement -fPIC et -fasynchrone-unwind-tables
sont pris en charge. Les autres options sont ignorées pour la compatibilité avec le compilateur C.

--faux-module
Créez un faux module PE pour une dll ou un exe, au lieu de l'assembly ou de l'objet normal
déposer. Le module PE contient les ressources du module, mais pas de code exécutable.

-F, --nom de fichier=nom de fichier
Définissez le nom de fichier du module. La valeur par défaut est d'utiliser le nom de base de la spécification
fichier (sans aucune extension).

-h, --Aidez-moi
Affichez un message d'utilisation et quittez.

-H, --tas=taille
Spécifiez la taille du tas local du module en octets (valable uniquement pour les modules Win16) ;
par défaut, il n'y a pas de tas local.

-I annuaire
Ignoré pour compatibilité avec le compilateur C.

-k, --tuer à
Supprimez les décorations stdcall des noms de symboles dans le fichier .def généré.
Significatif seulement dans --déf mode.

-K drapeaux
Ignoré pour compatibilité avec le compilateur C.

--conscient des grandes adresses
Définissez un indicateur dans l'exécutable pour informer le chargeur que cette application prend en charge
des espaces d'adressage supérieurs à 2 gigaoctets.

--ld-cmd=ld-commande
Spécifiez la commande à utiliser pour lier les fichiers objets ; la valeur par défaut est ld.

-L, --chemin-bibliothèque=annuaire
Ajouter le répertoire spécifié à la liste des répertoires recherchés
importer des bibliothèques.

-l, --bibliothèque=prénom
Importez la bibliothèque spécifiée, à la recherche d'un correspondant nomlib.def déposer dans le
répertoires spécifiés avec le -L option.

-m16, -m32, -m64
Générez respectivement du code 16 bits, 32 bits ou 64 bits.

-marm, -mpouce, -mars=option, -mcpu=option
Définissez les options de génération de code pour l'assembleur.

-M, --module-main=module
Lors de la création d'une dll 16 bits, définissez le nom de son homologue 32 bits sur module. Ce
est utilisé pour faire en sorte que l'ordre de chargement de la dll 16 bits corresponde à celui de la
un 32 bits.

-N, --dll-nom=nom dll
Définissez le nom interne du module. Il n'est utilisé que dans les modules Win16. Le défaut
est d'utiliser le nom de base du fichier de spécifications (sans aucune extension). Ceci est utilisé pour
KERNEL, car il réside dans KRNL386.EXE. Il ne devrait pas être nécessaire autrement.

--nm-cmd=nm-commande
Spécifiez la commande à utiliser pour obtenir la liste des symboles non définis ; la valeur par défaut est nm.

--nxcompat=Oui|aucune
Spécifiez si le module est compatible avec le support no-exec. La valeur par défaut est oui.

-o, --sortie=filet
Définissez le nom du fichier de sortie (la valeur par défaut est la sortie standard). Si le fichier de sortie
le nom se termine par .o, la sortie texte est envoyée dans un fichier temporaire qui est ensuite assemblé
pour produire le fichier .o spécifié.

-r, --res=rsrc.res
Charge les ressources à partir du fichier de ressources binaires spécifié. Les rsrc.res le fichier peut être
produit à partir d'un fichier de ressources source avec wrc(1) (ou avec une ressource Windows
compilateur).
Cette option n'est nécessaire que pour les fichiers de ressources Win16, les Win32 peuvent simplement
répertorié comme contribution fichiers et sera automatiquement géré correctement (bien que le -r
l'option fonctionnera également pour les fichiers Win32).

--sauve-temps
Ne supprimez pas les différents fichiers temporaires qui le vin génère.

--sous-système=sous-système[:majeur[.mineur]]
Définissez le sous-système de l'exécutable, qui peut être l'un des suivants :
console pour un exécutable en ligne de commande,
fenêtres pour un exécutable graphique,
indigène pour une dll en mode natif,
grimacer pour une dll ce.
Le point d'entrée d'un exécutable en ligne de commande est un C normal principal une fonction. UNE wmain
La fonction peut être utilisée à la place si vous avez besoin du tableau d'arguments pour utiliser des chaînes Unicode.
Un exécutable graphique a un Winmain point d'accès.
En option, une version majeure et mineure du sous-système peut également être spécifiée ; le défaut
la version du sous-système est 4.0.

-tu, --undéfini=symbole
Ajouter symbole à la liste des symboles non définis lors de l'appel de l'éditeur de liens. Cela fait
possible de forcer l'inclusion d'un module spécifique d'une bibliothèque statique lorsque
résoudre les importations.

-dans, --verbeux
Afficher les différentes sous-commandes invoquées par le vin.

--version
Affichez la version du programme et quittez.

-w, --mises en garde
Activez les avertissements.

SPEC DOSSIER SYNTAXE


Général syntaxe
Un fichier de spécification doit contenir une liste de déclarations ordinales. La syntaxe générale est la
Suivante à la suite:

ordinal type de fonction [drapeaux] nom d'exportation ( [arguments...] ) [maître]
ordinal variable [drapeaux] nom d'exportation ( [Les données...] )
ordinal externe [drapeaux] nom d'exportation [nom du symbole]
ordinal talon [drapeaux] nom d'exportation [ (arguments...) ]
ordinal assimiler [drapeaux] nom d'exportation données
# commentaires

Les déclarations doivent tenir sur une seule ligne, sauf si la fin de ligne est échappée à l'aide d'un
caractère barre oblique inverse. Les # caractère n'importe où dans une ligne fait que le reste de la ligne est
ignoré comme commentaire.

ordinal spécifie le numéro ordinal correspondant au point d'entrée, ou '@' pour
allocation ordinale automatique (Win32 uniquement).

drapeaux est une série d'indicateurs facultatifs, précédés d'un caractère '-'. Les drapeaux pris en charge sont :

-norelais
Le point d'entrée n'est pas affiché dans les traces de débogage de relais (Win32 uniquement).

-sans nom
Le point d'entrée sera exporté par ordinal au lieu de par nom. Le nom est
toujours disponible pour l'importation.

-ret16 La fonction renvoie une valeur de 16 bits (Win16 uniquement).

-ret64 La fonction renvoie une valeur de 64 bits (Win32 uniquement).

-registre
La fonction utilise le registre CPU pour passer des arguments.

-privé
La fonction ne peut pas être importée d'autres dll, elle est uniquement accessible
via GetProcAddress.

-ordinal
Le point d'entrée sera importé par ordinal au lieu de par nom. Le nom est
encore exporté.

-arche=cpu[,cpu]
Le point d'entrée n'est disponible que sur la ou les architectures CPU spécifiées. Les
noms win32 et win64 correspondre à toutes les architectures de processeur 32 bits ou 64 bits
respectivement. Dans les dll 16 bits, en spécifiant -arch=win32 provoque le point d'entrée
à exporter depuis le module wrapper 32 bits.

Fonction ordinaux
syntaxe:
ordinal type de fonction [drapeaux] nom d'exportation ( [arguments...] ) [maître]

Cette déclaration définit un point d'entrée de fonction. Le prototype défini par
nom d'exportation ( [arguments...] ) spécifie le nom disponible pour la liaison dynamique et le format
des arguments. '@' peut être utilisé à la place de nom d'exportation pour les exportations ordinales uniquement.

type de fonction devrait être l'un des :

stdcall
pour une fonction Win32 normale

pascal pour une fonction Win16 normale

cdecl pour une fonction Win16 ou Win32 utilisant la convention d'appel C

Varargs
pour une fonction Win16 ou Win32 utilisant la convention d'appel C avec une variable
nombre d'arguments

cet appel
pour une fonction Win32 utilisant le cet appel convention d'appel (premier paramètre
dans le registre %ecx sur i386)

args doit être l'un ou plusieurs des éléments suivants :

mot (valeur non signée 16 bits)

épée (mot signé de 16 bits)

Long (valeur entière de la taille d'un pointeur)

int64 (valeur entière de 64 bits)

int128 (valeur entière de 128 bits)

flotter (valeur à virgule flottante 32 bits)

double (valeur à virgule flottante 64 bits)

ptr (pointeur linéaire)

str (pointeur linéaire vers une chaîne ASCII terminée par zéro)

wstr (pointeur linéaire vers une chaîne Unicode terminée par zéro)

septr (pointeur segmenté)

segstr (pointeur segmenté vers une chaîne ASCII terminée par zéro).

Remarque : Les types de pointeur 16 bits et segmenté ne sont valides que pour les fonctions Win16.

maître est le nom de la fonction C réelle qui implémentera ce point d'entrée dans
mode 32 bits. Le gestionnaire peut également être spécifié comme nom dll.fonction pour définir une retransmission
fonction (une dont l'implémentation est dans une autre dll). Si maître n'est pas spécifié, c'est
supposé être identique à nom d'exportation.

Ce premier exemple définit un point d'entrée pour l'appel GetFocus() 32 bits :

@stdcall GetFocus() GetFocus

Ce deuxième exemple définit un point d'entrée pour l'appel CreateWindow() 16 bits (le
100 n'est qu'un exemple); il montre également la longueur des lignes pouvant être fractionnées à l'aide d'une barre oblique inverse :

100 pascal CreateWindow(ptr ptr long s_word s_word s_word \
s_word mot mot mot ptr) FEN_CréerFenêtre

Pour déclarer une fonction en utilisant un nombre variable d'arguments, spécifiez la fonction comme
Varargs et le déclarer dans le fichier C avec un paramètre '...' pour une fonction Win32, ou avec
un argument VA_LIST16 supplémentaire pour une fonction Win16. Voir les fonctions wsprintf* dans
user.exe.spec et user32.spec pour un exemple.

Variable ordinaux
syntaxe:
ordinal variable [drapeaux] nom d'exportation ( [Les données...] )

Cette déclaration définit le stockage de données comme des mots de 32 bits à l'ordinal spécifié.
nom d'exportation sera le nom disponible pour la liaison dynamique. données peut être un nombre décimal
ou un nombre hexadécimal précédé de "0x". L'exemple suivant définit la variable VariableA à
ordinal 2 et contenant 4 ints :

2 variables VariableA(-1 0xff 0 0)

Cette déclaration ne fonctionne que dans les fichiers de spécifications Win16. Dans Win32, vous devez utiliser externe plutôt ;
(voir ci-dessous).

Externe ordinaux
syntaxe:
ordinal externe [drapeaux] nom d'exportation [nom du symbole]

Cette déclaration définit une entrée qui correspond simplement à un symbole C (variable ou fonction).
Cela ne fonctionne que dans les fichiers de spécifications Win32. nom d'exportation pointera sur le symbole nom du symbole qui
doit être défini dans le code C. Alternativement, il peut être de la forme nom dll.nom du symbole à
définir un symbole transmis (dont l'implémentation est dans une autre dll). Si nom du symbole is
non spécifié, il est supposé être identique à nom d'exportation.

Talon ordinaux
syntaxe:
ordinal talon [drapeaux] nom d'exportation [ (arguments...) ]

Cette déclaration définit une fonction stub. Il rend le nom et l'ordinal disponibles pour
liaison dynamique, mais terminera l'exécution avec un message d'erreur si la fonction est
jamais appelé.

Assimiler ordinaux
syntaxe:
ordinal assimiler [drapeaux] nom d'exportation données

Cette déclaration définit un ordinal comme une valeur absolue. nom d'exportation sera le nom
disponible pour la liaison dynamique. données peut être un nombre décimal ou un nombre hexadécimal précédé de
"0x".

AUTEURS


le vin a été travaillé par de nombreuses personnes au fil des ans. Les principaux auteurs sont Robert J.
Amstadt, Alexandre Julliard, Martin von Loewis, Ulrich Weigand et Eric Youngdale. De nombreux
d'autres personnes ont contribué à de nouvelles fonctionnalités et à des corrections de bogues. Pour une liste complète, voir le git
journaux de validation.

Utilisez winebuild-development en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad