ホームページ  >  記事  >  運用・保守  >  Win32 SDKの基礎(2) cl.exeとlink.exeのコンパイル・リンク手順を詳しく解説(画像)

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

黄舟
黄舟オリジナル
2017-06-06 09:36:593485ブラウズ

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

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

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

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

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

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

#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 までご連絡ください。