


Win32 SDK-Grundlagen (2) Detaillierte Erläuterung der Kompilierungs- und Verknüpfungsvorgänge cl.exe und link.exe (Bild)
一 Beginnen Sie mit dem Kompilierungsprozess des Programms
Im vorherigen Artikel haben wir Windows Kenntnisse über die Klassifizierung von Programmen unter dem System, Compilern, Konnektoren, häufig verwendeten Header-Dateien, Bibliotheksdateien usw. In diesem Artikel geht es um den Kompilierungsprozess des Programms.
Ich glaube, jeder weiß, dass der Kompilierungsprozess des Quellcodes in zwei Schritte unterteilt ist: Der eine ist der Kompilierungsprozess. Die Hauptaufgabe besteht darin, unseren Quellcode in Zwischendateien zu übersetzen in Windows ist das, was cl.exe tut, es konvertiert unsere .c-Datei oder .cpp-Dateien werden in Zwischendateien .obj übersetzt; der zweite ist der Verbindungsprozess. Die Hauptaufgabe besteht darin, verschiedene Zwischendateien und Bibliotheken zu verbinden Dateien, um ausführbare Dateien zu generieren, das ist es, was link.exe in Windows macht, es wird .obj Dateien und Bibliotheksdateien werden in exe-Programme verknüpft.
In diesem Artikel erfahren Sie hauptsächlich, wie Sie die IDE von VS entfernen und die Befehlszeile verwenden cl.exe und link.exe Programme kompilieren und verknüpfen.
zwei Schreiben Sie zuerst unsere Test.c-Datei
Zuerst Wir erstellen eine neue Datei test.txt und benennen sie dann in text.c um. In diese Datei geben wir den folgenden Code ein:
#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; }
importiert alle Header-Dateien, die wir für das Windows-System benötigen. Dann stellten wir die Hauptfunktion des Fensterprogramms Windows wWinMain vor. Hier ist eine kurze Erklärung der Funktion jedes formalen Parameters von Winmain: hInstance ist das Instanzhandle des aktuellen Programms, das ist der Speicher, in dem sich das aktuelle Programm befindet; hPrevInstanceDas vorherige Instanz-Handle des aktuellen Programms, das derzeit aufgegeben wird; ist der Befehlszeilenparameter, das heißt, wir verwenden die Befehlszeile. Wenn Sie das Programm ausführen, können Sie einige Zeichenfolgen als Parameter anhängen. nCmdShow ist Fensteranzeigemodus: Maximieren oder Minimieren. Wir haben MessageBox in der Hauptfunktion aufgerufen, um ein modales Dialogfeld zu definieren. Wenn die Kompilierung erfolgreich ist, wird nach der Ausführung des Programms ein Dialogfeld angezeigt. Nachdem die Datei Test.c
geschrieben wurde, müssen wir als Nächstes die Dateien separat kompilieren und verknüpfen.Drei
KompilierenTest.cWir werden Fenster
cmd-Befehlszeilentool, wechseln Sie dann in unser aktuelles Arbeitsverzeichnis und verwenden Sie den folgenden Befehl, um die Datei Test.c zu kompilieren: Cl.exe /c test.c
Nach Abschluss der Kompilierung wird die Zwischendatei test.objim Arbeitsverzeichnis generiert:
Wenn Ihre Befehlszeilenaufforderung den Befehl cl.exe und andere Informationen nicht finden kann, sollten Sie meiner Meinung nach verstehen, dass dies an der Umgebung liegt Variable existiert nicht. Um das Verzeichnis zu importieren, in dem sich cl.exe befindet, können wir zuerst die Umgebungsvariable hinzufügen oder sie mit dem vollständigen Pfad importieren. Wenn Sie die Datei test.obj generiert haben, bedeutet dies, dass der Kompilierungsprozess abgeschlossen ist und wir den Verbindungsprozess starten können.
4. Linkgenerierung test.exe
Als nächstes führen wir den folgenden Befehl aus, um die ausführbare Datei zu generieren:
Link.exe test.obj user32.lib
User32.lib Diese Bibliothek, die wir im vorherigen Artikel erwähnt haben, enthält die gewünschte Benutzeroberfläche und nachrichtenbezogene API Die MessageBox, die wir aufrufen müssen, ist in dieser Bibliothek definiert, wenn nichts anderes passiert, Die ausführbare Datei test.exe sollte in Ihrem Arbeitsverzeichnis generiert werden:
Doppelklicken Sie auf diese exe und das von uns definierte Dialogfeld wird angezeigt:
OK, der Test ist beendet. Wir haben uns komplett von der VSmit SchnittstelleIDE gelöst, um ein benutzerdefiniertes Dialogfeld zu erstellen. Ist das nicht erstaunlich? Hier sollte Xiao Yueyues gemeiner Gesichtsausdruck zu sehen sein. . .
Das obige ist der detaillierte Inhalt vonWin32 SDK-Grundlagen (2) Detaillierte Erläuterung der Kompilierungs- und Verknüpfungsvorgänge cl.exe und link.exe (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die nativen Apps von Windows 11 (wie der Datei-Explorer) und andere Shell-Apps verwenden standardmäßig abgerundete Ecken und Fluent Design-Elemente (wie Acryl). Ein weiteres wichtiges Designmerkmal von Windows 11 sind neben abgerundeten Ecken Materialien wie Glimmer, die die Hintergrundfarbe von Apps an den Desktop anpassen. Glimmer ähnelt Acryl, funktioniert jedoch etwas anders. Wie Microsoft es beschreibt, erstellt Windows Mica Materials eine „Farbhierarchie, indem es Hintergründe an Apps anpasst“.

Das neue Windows 11 SDK für Build 22523 enthüllte, dass Microsoft einen neuen Unschärfeeffekt für Windows 11 entwickelt. Dieser Effekt wird Tabbed genannt und gilt zusätzlich zu Acryl und Glimmer. Das neue DWMWA_SYSTEMBACKDROP_TYPE im 22523 SDK, die öffentliche Win32-API für Mica, Acrylic und ihre seltsame neue „Tab“-Mischung: pic.twitter.com/dbsu7ZFiIi – It’s All Back (@StartIsBack) 15. Dezember 2021 Verfügbar in den folgenden SDKs Beispielanwendung

Antivirensoftware zeigt auf Windows 32-Laptops manchmal eine Warnung mit dem Hinweis „Trojan/win11.casdet rfn“ an. Es weist darauf hin, dass der PC mit Trojaner-Malware infiziert ist und eine Fehlfunktion verursacht. Glücklicherweise gibt es einige Möglichkeiten, dieses Problem zu beheben, wie unten erläutert. Darüber hinaus könnte Sie unser ausführlicher Leitfaden dazu interessieren, ob cdn.districtm.io ein Popup/Virus/eine Malware ist oder nicht. Was ist Trojan/win32.casdet rfn? Trojan/win32.casdet rfn ist eine schwere Trojaner-Virusinfektion, die das System überlaufen und seine Prozesse abbrechen kann, was es einfach macht

Der Unterschied zwischen Win32 und Win64 ist: 1. Win32 bezieht sich auf die 32-Bit-Umgebung des Microsoft Windows-Betriebssystems, und Win64 bezieht sich auf die 64-Bit-Version des Microsoft Windows-Betriebssystems, die stabiler und schneller als die 32 ist -Bit-Version; 2. Win32 unterstützt bis zu 2G Speicher. 3. Win64 unterstützt 64-Bit-Prozessoren, aber Win32 strebt nach Einfachheit, während Win64 nach Leistung strebt.

Bereits im August 2021 versprach Microsoft, dass OneNote für Windows 10 und Windows 11 in den kommenden Monaten eine Reihe wichtiger Funktionsupdates erhalten würde, da der Technologieriese mehrere Versionen der Notizen-App in einem einzigen Teil der Bemühungen vereint der Kunden. OneNote hat in den letzten Jahren viele Veränderungen erfahren. Im Jahr 2018, als Microsoft wirklich wollte, dass die Benutzer seine UWP-Version von OneNote verwenden, hörte das Unternehmen auf, die ursprüngliche und funktionsreiche Version von OneNote mit vorinstallierten Office-Apps zu bündeln. Stattdessen hat Microsoft lediglich einen UWP-Client bereitgestellt und neue Funktionen für moderne Versionen hinzugefügt. Microsoft hat später geändert

Das WindowsAppSDK ist eine Reihe von Tools und APIs, die Entwickler in ihren Windows-Anwendungen verwenden können, um „konsistente“ Funktionalität auf einer Vielzahl von Geräten unter Windows 10 (Version 1809 und höher) und Windows 11 bereitzustellen. Es ist wirklich wichtig zu verstehen, dass es bestehende Anwendungstypen wie .NET oder Windows SDK nicht ersetzt, sondern lediglich ein einheitliches API-Toolset bereitstellt, das zur Ergänzung Ihrer vorhandenen Anwendungen verwendet werden kann. Heute hat Microsoft Version 1.2 des Windows App SDK mit vielen neuen Funktionen veröffentlicht. Das Highlight dieser Version könnten Drittentwickler sein

Beherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK. Einführung: Mit der rasanten Entwicklung der Informationstechnologie wurden Videoüberwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Als führender inländischer Anbieter von Videoüberwachungslösungen nehmen die Produkte und Technologien von Hikvision seit jeher eine wichtige Position auf dem Markt ein. Um den Anforderungen verschiedener Projekte gerecht zu werden, stellt Hikvision Entwicklern ein SDK zur Durchführung sekundärer Entwicklungen zur Verfügung. In diesem Artikel werden einige wesentliche Fähigkeiten zur Beherrschung der Sekundärentwicklung des Java Hikvision SDK vorgestellt und entsprechende Codebeispiele beigefügt. 1. Hikvision verstehen

Der vollständige Name von SDK lautet „Software Development Kit“, was auf Chinesisch „Software Development Kit“ bedeutet. Dabei handelt es sich um eine Reihe von Tools, die von Herstellern von Hardwareplattformen, Betriebssystemen (OS) oder Programmiersprachen bereitgestellt werden. SDKs unterstützen Softwareentwickler bei der Erstellung von Anwendungen für bestimmte Plattformen, Systeme oder Programmiersprachen. Ein Basis-SDK besteht normalerweise aus einem Compiler, Debugger und einer Anwendungsprogrammierschnittstelle (API), kann aber auch andere Inhalte enthalten, wie zum Beispiel: Dokumentation, Bibliotheken, Laufzeit-/Entwicklungsumgebung, Test-/Analysetools, Netzwerkprotokolle usw.
