recherche
MaisonOpération et maintenanceexploitation et entretien des fenêtresBases du SDK Win32 (2) Explication détaillée des procédures de compilation et de liaison cl.exe et link.exe (image)

Commencer à partir du processus de compilation du programme

Dans l'article précédent, nous avons présenté windows Connaissance de la classification des programmes sous le système, des compilateurs, des connecteurs, des fichiers d'en-tête couramment utilisés, des fichiers de bibliothèque, etc. Cet article parlera du processus de compilation du programme.

Je crois que tout le monde sait que le processus de compilation du code source est divisé en deux étapes : l'une est le processus de compilation, le travail principal est de traduire notre code source en fichiers intermédiaires, qui sont dans Windows, c'est ce que fait cl.exe, il convertira notre fichier .c ou Les fichiers .cpp sont traduits en fichiers .obj intermédiaires ; le second est le processus de connexion, le travail principal est de connecter divers fichiers intermédiaires et bibliothèques ; fichiers pour générer des fichiers exécutables, c'est ce que link.exe fait dans windows, ce sera .obj Les fichiers et les fichiers de bibliothèque sont liés dans des programmes exe.

Cet article vous apprend principalement à vous débarrasser de l'IDE de VS et à utiliser la ligne de commande pour utiliser cl.exe et link.exe compilent et lient des programmes.

deux Écrivez notre fichier Test.c

D'abord nous créons un nouveau fichier test.txt, puis le renommeons en text.c Dans ce fichier nous remplissons le code suivant : <.>

#include "windows.h"
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,  
                     _In_opt_ HINSTANCE hPrevInstance,  
                     _In_ LPWSTR    lpCmdLine,  
                     _In_ int       nCmdShow)   
{
  MessageBox(NULL,"Hello Win32","sdk",MB_ABORTRETRYIGNORE|MB_ICONERROR);
  return 0;
}
          #include "windows.h"

importe tous les fichiers d'en-tête dont nous avons besoin pour le système windows. Ensuite, nous avons présenté la fonction principale du programme de fenêtre windows wWinMain. Voici une brève explication de la fonction de chaque paramètre formel de Winmain : hInstance est le handle d'instance du programme actuel, qui est la mémoire où se trouve le programme actuel. L'emplacement hPrevInstanceLe handle de l'instance précédente du programme actuel, qui est actuellement abandonné ; est le paramètre de ligne de commande, c'est-à-dire que nous utilisons la ligne de commande Lors de l'exécution du programme, vous pouvez attacher des chaînes comme paramètres nCmdShow ; le mode d'affichage de la fenêtre, maximiser ou minimiser. Nous avons appelé MessageBox dans la fonction principale pour définir une boîte de dialogue modale. Si la compilation réussit, une boîte de dialogue apparaîtra après l'exécution du programme. Maintenant que le fichier Test.c

a été écrit, la prochaine chose que nous devons faire est de compiler et de lier les fichiers séparément.

Trois

CompileTest.c Nous allons ouvrir fenêtres

cmd outil de ligne de commande, puis passez à notre répertoire de travail actuel et utilisez la commande suivante pour compiler le fichier Test.c : Cl.exe /c test.c

Une fois la compilation terminée, le fichier intermédiaire test.obj sera généré dans le répertoire de travail :

Si votre invite de ligne de commande ne parvient pas à trouver la commande cl.exe et d'autres informations similaires, je pense que vous devez comprendre que cela est dû à l'environnement la variable n'existe pas Pour importer le répertoire où se trouve cl.exe, nous pouvons d'abord ajouter la variable d'environnement ou l'importer en utilisant le chemin complet. Si vous avez généré le fichier test.obj, cela signifie que le processus de compilation est terminé et que nous pouvons démarrer le processus de connexion.

4. Génération de lien test.exe

Ensuite, nous exécutons la commande suivante pour générer le fichier exécutable :

Link.exe test.obj user32.lib

User32.lib Cette bibliothèque dont nous avons parlé dans l'article précédent, elle contient le L'interface utilisateur souhaitée et l'API liée au message que nous devons appeler est définie dans cette bibliothèque, si rien d'autre ne se produit. le fichier exécutable test.exe doit être généré dans votre répertoire de travail :


Double-cliquez sur cet
exe

, et la boîte de dialogue que nous avons définie apparaît :


OK

, le test est terminé. On s'est complètement détaché du

VS

avec interfaceIDE pour générer une boîte de dialogue personnalisée, n'est-ce pas étonnant ? Il devrait y avoir l'expression méchante de Xiao Yueyue ici. . .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.