


一 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
OK
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

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

Dreamweaver CS6
Outils de développement Web visuel

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

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
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.