2013-01-10

FILE構造体でメモリを利用する方法  [by miyachi]

久しぶりの技術ネタです。私もオープンソースのライブラリには常日頃お世話になっています。公開してくださっている開発者の皆さんには心から感謝しています。私も今年はオープンソースとライセンスのプロジェクトを開発することで少しでも恩返しができればと考えていたりするのですが…

閑話休題、今日のネタはライブラリの入出力がFILE構造体指定しか無いけどファイルでは無くメモリ上で入出力する方法です。これは実際に先日libpngやlibjpegを使おうとした時にぶつかった問題です。元ファイルを読み込んだ後で画像フォーマットの変換をメモリ上で行いたいのですが、サンプル等は全てFILE構造体になっています。これをメモリのポインタを利用するようにすることも可能だと思いますが面倒で時間もかかりそうなのでサンプル実装をそのまま使いたいと言うことです。更に今回はWindowsとLinuxの両方でこの問題を解決する必要もありました。残念ながらWindowsとLinuxで共通した方法は見つかりませんでしたが、どちらでもFILE構造体を使ってメモリ上で操作する方法が分かりましたので簡単にまとめます。 [続きを読む]
2013-01-10 12:21:34 - miyachi - - [プログラミング] -