📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
細 Wiki がページ「スタティックライブラリの作成(C/C++)」を「ライブラリの基礎 - スタティックライブラリの作成(C/C++/MFC)」に、リダイレクトを残さずに移動しました |
細 文字列「/source」を「/syntaxhighlight」に置換 |
||
| (同じ利用者による、間の1版が非表示) | |||
| 23行目: | 23行目: | ||
DLLと違って、スタティックライブラリでは、モジュール定義ファイル(.defファイル)やexport宣言は不要である。<br> | DLLと違って、スタティックライブラリでは、モジュール定義ファイル(.defファイル)やexport宣言は不要である。<br> | ||
つまり、グローバルな関数は全て公開される。<br> | つまり、グローバルな関数は全て公開される。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
// StaticLib.h | // StaticLib.h | ||
// ヘッダファイルでは関数のプロトタイプを宣言する | // ヘッダファイルでは関数のプロトタイプを宣言する | ||
| 34行目: | 34行目: | ||
extern "C" int GetLogicalDriveCount(); | extern "C" int GetLogicalDriveCount(); | ||
extern "C" BOOL GetLogicalDriveString(int, LPWSTR, int); | extern "C" BOOL GetLogicalDriveString(int, LPWSTR, int); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
< | <syntaxhighlight lang="c++"> | ||
// StaticLib.cpp | // StaticLib.cpp | ||
// ソースファイルでは、関数の具体的な実装を記述する | // ソースファイルでは、関数の具体的な実装を記述する | ||
| 101行目: | 101行目: | ||
return TRUE; | return TRUE; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
| 117行目: | 117行目: | ||
<br> | <br> | ||
実行ファイルのサンプルコードを以下に記述する。<br> | 実行ファイルのサンプルコードを以下に記述する。<br> | ||
< | <syntaxhighlight lang="c++"> | ||
// ExeStaticLib.cpp : アプリケーションのエントリ ポイントを定義します。 | // ExeStaticLib.cpp : アプリケーションのエントリ ポイントを定義します。 | ||
| 152行目: | 152行目: | ||
return 0; | return 0; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
このプログラムの実行例を以下に示す。<br> | このプログラムの実行例を以下に示す。<br> | ||