目次
プログラムのコンパイルプロセスから始めましょう" > プログラムのコンパイルプロセスから始めましょう
Test.cファイルを作成します" > Test.cファイルを作成します
cmdコマンドラインツールを開き、現在の作業ディレクトリに切り替えて、次のコマンドを使用して" > windowscmdコマンドラインツールを開き、現在の作業ディレクトリに切り替えて、次のコマンドを使用して
test.exe" >リンクの生成test.exe
ホームページ 運用・保守 窓の運用と保守 Win32 SDKの基礎(2) cl.exeとlink.exeのコンパイル・リンク手順を詳しく解説(画像)

Win32 SDKの基礎(2) cl.exeとlink.exeのコンパイル・リンク手順を詳しく解説(画像)

Jun 06, 2017 am 09:36 AM

プログラムのコンパイルプロセスから始めましょう

前回の記事では、Windows下のプログラムの分類、コンパイラ、コネクタ、共通ヘッダファイル、ライブラリファイル、その他の知識を紹介しました。システム。この記事では、プログラムのコンパイルプロセスについて説明します。

ソース コードのコンパイル プロセスが 2 つのステップに分かれていることは誰もが知っていると思います。1 つはコンパイル プロセスで、主な仕事はソース コードを中間ファイル (windows では cl) に変換することです。 exe の役割は、.c ファイルまたは .cpp ファイルを中間 .obj ファイルに変換することです。2 番目は接続プロセスであり、主な仕事はさまざまな中間ファイルを変換することです。ファイルとライブラリ ファイル接続は実行可能ファイルを生成します。これは、windowslink.exeの役割であり、.objファイルとライブラリファイルをexeプログラムにリンクします。

この記事では主に、VSIDEを削除し、コマンドラインを使用してcl.exelink.exeでプログラムをコンパイルおよびリンクする方法を説明します。

Test.cファイルを作成します

まず、新しいtest.txtファイルを作成し、それからそのファイル名をtext.cに変更します。次のコードを入力します:

1

2

3

4

5

6

7

8

9

#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"

は、windows システムで必要なすべてのヘッダー ファイルをインポートします。次に、windowsウィンドウプログラムのメイン関数wWinMainを導入しました。 Winmainの各仮パラメータの役割を簡単に説明します: hInstanceは現在のプログラムのインスタンスハンドルであり、現在のプログラムのメモリ位置です。現在のプログラムのインスタンス ハンドル。現在はすでに廃止されています。lpCmdLine はコマンド ライン パラメーターです。つまり、コマンド ラインからプログラムを実行するときに、パラメーターとしていくつかの strings を含めることができます。はウィンドウの表示方法であり、最大化または最小化します。 main 関数で MessageBox を呼び出してモーダル ダイアログ ボックスを定義しました。コンパイルが成功すると、プログラムの実行後にダイアログ ボックスが表示されます。 Test.c ファイルが作成されたので、次に行う必要があるのは、ファイルを個別にコンパイルしてリンクすることです。

Compile Test.c

windowscmdコマンドラインツールを開き、現在の作業ディレクトリに切り替えて、次のコマンドを使用して

をコンパイルします。テスト。c ファイル: Cl.exe /c test.c

コンパイルが完了すると、test.obj中間ファイルが作業ディレクトリに生成されます:

コマンドラインプロンプトでcl.exeコマンドなどが見つからない場合情報として、これは環境変数 cl.exe が導入されていないディレクトリであることを理解していただけると思います。最初に環境変数を追加することも、フルパスを使用して環境変数を導入することもできます。 test.obj ファイルを生成した場合は、コンパイルプロセスが完了し、接続プロセスを開始できることを意味します。

4.

リンクの生成test.exe

次に、次のコマンドを実行して実行可能ファイルを生成します:

Link.exe test.obj user32.lib

User32 .lib

このライブラリには、必要なユーザー インターフェイスとメッセージ関連の API が含まれていると説明しました。ファイル test.exe が作業ディレクトリに生成されるはずです:

この
exe
をダブルクリックすると、定義したダイアログ ボックスがポップアップします:


OK
、テストは終わりました。インターフェース

IDE

を使用してVSから完全に分離され、カスタムダイアログボックスが生成されています。素晴らしいと思いませんか?ここにはシャオ・ユエユエの意地悪な表現があるはずです。 。 。

以上がWin32 SDKの基礎(2) cl.exeとlink.exeのコンパイル・リンク手順を詳しく解説(画像)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MicrosoftはWindows 11向けの新しいぼかし効果を開発中 MicrosoftはWindows 11向けの新しいぼかし効果を開発中 May 13, 2023 am 09:04 AM

ビルド 22523 用の新しい Windows 11 SDK は、Microsoft が Windows 11 用の新しいぼかし効果を開発していることを明らかにしました。この効果はタブ付きと呼ばれ、アクリルとマイカに追加されます。 22523 SDK の新しい DWMWA_SYSTEMBACKDROP_TYPE、Mica、Acrylic のパブリック Win32 API、およびその奇妙な新しい「タブ」ミックス: pic.twitter.com/dbsu7ZFiIi — It's All Back (@StartIsBack) December 15, 2021 次の SDK のサンプル アプリケーションで利用可能

Windows 11 22H2 は、より多くの Win32 デスクトップ アプリにマイカ/アクリル デザインを導入します Windows 11 22H2 は、より多くの Win32 デスクトップ アプリにマイカ/アクリル デザインを導入します Apr 14, 2023 pm 04:58 PM

Windows 11 のネイティブ アプリ (ファイル エクスプローラーなど) とその他のシェル アプリは、デフォルトで丸い角と Fluent Design 要素 (アクリルなど) を使用します。丸い角に加えて、Windows 11 のもう 1 つの重要なデザイン機能は、アプリの背景色をデスクトップと揃える雲母などのマテリアルです。マイカはアクリルに似ていますが、動作が少し異なります。 Microsoft が説明しているように、Windows Mica マテリアルは「背景をアプリに合わせて色の階層を作成します」

Windows 11 の Trojan/win32.casdet Rfn Windows 11 の Trojan/win32.casdet Rfn Apr 14, 2023 pm 02:49 PM

ウイルス対策ソフトウェアは、Windows 32 ラップトップ上で Trojan/win11.casdet rfn を示す警告を表示する場合があります。これは、PC がトロイの木馬マルウェアに感染し、誤動作を引き起こしていることを示します。幸いなことに、以下で説明するように、この問題を解決する方法がいくつかあります。さらに、cdn.districtm.io がポップアップ/ウイルス/マルウェアであるかどうかに関する詳細なガイドにも興味があるかもしれません。 Trojan/win32.casdet rfn とは何ですか? Trojan/win32.casdet rfn は、システムをオーバーランさせてプロセスを強制終了させる可能性がある深刻なトロイの木馬ウイルス感染症です。

win32とwin64の違いは何ですか win32とwin64の違いは何ですか May 29, 2023 pm 05:22 PM

win32 と win64 の違いは次のとおりです。 1. win32 は Microsoft Windows オペレーティング システムの 32 ビット環境を指し、win64 は Microsoft Windows オペレーティング システムの 64 ビット バージョンを指します。これは 32 ビット環境よりも安定しており、高速です。 -ビットバージョン; 2. win32 は最大 2G のメモリをサポートしますが、win64 には 4G 以上のメモリが必要です; 3. win64 は 64 ビット プロセッサをサポートしますが、win32 は完全にはサポートできません; 4. win32 はシンプルさを追求し、win64 はパフォーマンスを追求します。

Java Hikvision SDKの二次開発に必須のスキルをマスターする Java Hikvision SDKの二次開発に必須のスキルをマスターする Sep 06, 2023 am 08:10 AM

Java Hikvision SDK の二次開発に必須のスキルをマスターする はじめに: 情報技術の急速な発展に伴い、ビデオ監視システムはさまざまな分野で広く使用されています。国内の大手ビデオ監視ソリューションプロバイダーとして、Hikvision の製品と技術は常に市場で重要な位置を占めてきました。さまざまなプロジェクトのニーズを満たすために、Hikvision は開発者が二次開発を実行するための SDK を提供します。この記事では、Java Hikvision SDK の二次開発を習得するための重要なスキルをいくつか紹介し、対応するコード例を添付します。 1. Hikvision を理解する

Microsoft、Windows 11向けの新しいOneNoteデザインのテストを開始 Microsoft、Windows 11向けの新しいOneNoteデザインのテストを開始 Apr 19, 2023 pm 08:01 PM

2021 年 8 月に遡ると、Microsoft は、テクノロジー大手が複数のバージョンのメモ作成アプリを 1 つに統合するため、Windows 10 および Windows 11 の OneNote に今後数か月以内に一連の主要な機能アップデートが提供されると約束しました。顧客の。 OneNote は過去数年間に多くの変更を加えてきました。 2018 年、Microsoft は人々に自社の UWP バージョンの OneNote を使用してもらいたいと本気で考えていたため、機能が豊富なオリジナルの OneNote バージョンとプレインストールされた Office アプリのバンドルを中止しました。代わりに、Microsoft は UWP クライアントを提供し、最新バージョンに新機能を追加しただけです。マイクロソフトはその後変更しました

SDKとは何ですか SDKとは何ですか Jan 06, 2023 pm 03:26 PM

sdkの正式名称は「Software Development Kit」、中国語で「ソフトウェア開発キット」を意味し、ハードウェアプラットフォームやオペレーティングシステム(OS)、プログラミング言語のメーカーが提供するツールのセットです。 SDK は、ソフトウェア開発者が特定のプラットフォーム、システム、またはプログラミング言語用のアプリケーションを作成するのを支援します。通常、基本的な SDK はコンパイラー、デバッガー、アプリケーション プログラミング インターフェイス (API) で構成されますが、ドキュメント、ライブラリ、ランタイム/開発環境、テスト/分析ツール、ネットワーク プロトコルなどの他のコンテンツが含まれる場合もあります。

Windows App SDK 1.2 がオンラインになりました。新機能は次のとおりです。 Windows App SDK 1.2 がオンラインになりました。新機能は次のとおりです。 May 12, 2023 pm 06:07 PM

WindowsAppSDK は、開発者が Windows 10 (バージョン 1809 以降) および Windows 11 を使用するさまざまなデバイス間で「一貫した」機能を提供するために Windows アプリケーションで使用できるツールと API のセットです。 .NET や Windows SDK などの既存のアプリケーション タイプを置き換えるのではなく、既存のアプリケーションを補完するために使用できる統合 API ツールセットを提供するだけであることを理解することが非常に重要です。本日、Microsoft は多くの新機能を備えた Windows App SDK バージョン 1.2 をリリースしました。このリリースのハイライトはサードパーティの開発者かもしれません

See all articles