リソースファイルも一緒に実行ファイル化

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
f

リソースファイルも一緒に実行ファイル化

#1

投稿記事 by f » 16年前

質問です

リリースでビルドする際
画像ファイル,音楽ファイル等も含めて
ひとまとめにして実行ファイル1個にし
その実行ファイル1個でゲームを正常に動作させるようにはできないのでしょうか?

画像ファイル等を分けておくと普通に見られるのが嫌なので

回答をよろしくお願いいたします

バグ

Re:リソースファイルも一緒に実行ファイル化

#2

投稿記事 by バグ » 16年前

環境が書かれていないのでなんとも言えませんが、『リソース 埋め込み』とか『画像 埋め込み』とかでググると何かヒットするかもしれませんよ(^-^)

toyo

Re:リソースファイルも一緒に実行ファイル化

#3

投稿記事 by toyo » 16年前

DXライブラリでしょうか
.rcにリソース記述して
LoadSoundMemByResource( const char *ResourceName, const char *ResourceType, int BufferNum = 1 ) ;
LoadGraphToResource( int ResourceID ) ;
LoadGraphToResource( const char *ResourceName, const char *ResourceType ) ;
LoadDivGraphToResource( const char *ResourceName, const char *ResourceType, int AllNum, int XNum, int YNum, int XSize, int YSize, int *HandleBuf ) ;
などで読み込めそうですが

Justy

Re:リソースファイルも一緒に実行ファイル化

#4

投稿記事 by Justy » 16年前

 環境が不明なのである程度環境を問わず可能な方法となるとだいぶ絞られますが。

 一番簡単なのは、プログラムコード内にデータとして埋め込んでしまう方法です。

※ C/C++における BMPファイルの一例[color=#d0d0ff" face="monospace]
const unsigned char ImageBMPData[/url] =
{
0x42, 0x4d, 0x32, 0xb4, 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x32, 0x04, 0x00, 0x00, 0x28, 0x00,
0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0xe0, 0x01,
0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xb0, 0x04, 0x00, 0xeb, 0x0a,
0x00, 0x00, 0xeb, 0x0a, 0x00, 0x00, 0xff, 0x00,
// ... 続く
};
[/color]


 バイナリのテキスト変換は探せばそういうツールもあるとは思いますが、
ファイル読み込んで、標準出力かファイルにでも言語の構文に合わせて
テキストを出力するだけですので、自作してもさほど時間はかからないと思います。


 でもどの方法にしても、リソースのサイズが大きくなればなるほど、
ビルド・結合に時間がかかるようになりますし、更新の手間などを考えると
実行ファイルに埋め込むということそのものがあまりお勧めはできません。

f

Re:リソースファイルも一緒に実行ファイル化

#5

投稿記事 by f » 16年前

環境はMicrosoft Visual C++ 2008 Express Editionです

閉鎖

“C言語何でも質問掲示板” へ戻る