ホームページ >バックエンド開発 >C++ >導入を簡略化するために実行可能ファイルにファイルを埋め込む方法

導入を簡略化するために実行可能ファイルにファイルを埋め込む方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 15:37:02199ブラウズ

How to Embed Files into Executables for Simplified Deployment?

展開を簡素化するために実行可能ファイルにファイルを埋め込む

PNG 画像に大きく依存する小さな実行可能ファイルがあります。 ZIP アーカイブの配布を回避するには、PNG ファイル (またはその他のファイル) を実行可能ファイル自体に埋め込む方法を探します。

移植可能なアプローチの 1 つは、次のような関数を定義することです。

<code class="c++">typedef unsigned char Byte;

Byte const* pngFileData()
{
    static Byte const data =
    {
        // Byte data generated by a helper program.
    };
    return data;
}</code>

バイト データを生成するには、PNG ファイルをバイナリとして読み取り、C 中括弧初期化テキストを出力するヘルパー プログラムを使用します。人気のある画像操作ユーティリティである ImageMagick には、この目的のためのヘルパー プログラムが含まれています。

Windows 固有のアプリケーションの場合は、Windows リソース スキームを利用できます。これにより、ファイルを実行可能ファイルにリソースとして埋め込み、リソース ID を使用してアクセスできるようになります。

Visual C 2010 を使用して PNG ファイルを実行可能ファイルに埋め込むには:

  1. PNG ファイルを追加しますプロジェクトにリソースとして追加します。
  2. リソース タイプを「Image」に設定し、リソース名を一意の文字列 (例: 「MY_PNG」) に設定します。
  3. コードで、グローバルを宣言します。 PNG データへのポインタ:
<code class="c++">extern const unsigned char* MY_PNG_DATA;</code>
  1. 初期化関数で、リソースから PNG データをロードします:
<code class="c++">MY_PNG_DATA = (const unsigned char*)LoadResource(hInstance, MAKEINTRESOURCE(IDR_MY_PNG));</code>

PNG を埋め込むことによってファイルを実行可能ファイルに追加すると、アプリケーションに必要なすべてのリソースを含む単一のファイルが作成されるため、追加のダウンロードや外部リソースの必要がなくなります。

以上が導入を簡略化するために実行可能ファイルにファイルを埋め込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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