CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

投稿日:

でかいファイルは、圧縮してコンパクトに扱いたくなる。
テキスト形式で定義されているファイルをアプリで読み書きする。
テキストは圧縮すれば1/5くらいになるので、その結果小さくなった
ファイルをアプリの入出力とすればよいという発想だった。
アプリは、圧縮されたファイルを解凍してから入力して、
何らかの編集操作後には再度圧縮して出力することになる。
圧縮ファイルと言えばzipであり、zipを扱うならば商用利用も
可能なzlibということになった。
zlibの最新版は1.2.8(update2013/4/28)である。
zlibサイトを下にスクロールさせて、真ん中より少し下の
「Related External Links」の中の
「zlib for Windows 9x/NT/2000/XP/2003 (DLL version, plus related utilities) 」
をクリックでwinimage社のサイトに飛んで、zlib125.zipと
zlib125dll.zipをダウンロードして、アプリに組み込んだのだった。
winimage社は、zlibをWindowsで使う用にラッパーのDLLを作成&
公開してくれていて、その作成時期が少し前なのでzlibの最新の1.2.8
ではなく、1.2.5というバージョンになっていた。
(このラッパーはwinimage社のminizipから切り出したものらしい。)
その程度のバージョン違いは問題ないと考えたし、またアプリへの
組み込みも問題なくできたので、やれやれってことで終わっていた。
最近になって、zlibのバージョンが最新かどうかという話が出て、
あらためてwinimage社のサイトに行ってみたら、ダウンロードできる
ファイルがzlib123.zipとzlib123dll.zipになっていることが判明した。
1.2.5あるいは最新の1.2.8ベースが出ているかと思ったら、なぜか
バージョンが1.2.3に戻ってしまっていた。(2015/12/23現在)
不具合、脆弱性、ライセンスなどの問題で戻した可能性が高い。
そもそもの話として、zlib本体をアプリに組み込むべきだ。
しかし、ネットではwinimage社のラッパーを組み込むネタは転がって
いるものの、zlib本体を組み込む方法が見つからない。
容易に組み込めるwinimage社のラッパーに飛びつくのはよくわかる。
zlib本体は、hとdefとlibの構成になっているので、そんなに難しくない
ようには思えるが、いかんせん英語で前例がネットにないと来ている。
がんばって英語と格闘するか、ネットでの事例を探し出すか。。。
zlib最新版を使うための戦いは続く。

-ソフト開発
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

ソフト不正使用対策

ソフトウェア会社にとって、ソフトの不正使用は深刻な問題です。身近な問題として、現状と今後を考えてみたいと思います。  CADの業界では古くからこの問題に取り組んでいます。CADは比較的高価な価格で販売 …

no image

マルチスレッド

ついに出来ました。 マルチスレッド技術を利用した画期的機能が。 って、そんな大したものではありません。 スレッド化技術は、この時代当たり前になりつつありますが、 なかなか難しそうで、手をつけてませんで …

no image

VC6デバッグ

ここ数年抱えていた問題が一つ解決したので、ここに記しておこう。 VC6でデバッグしていると、たまに戻ってこないことがあったのさ。 別の言い方をすると、固まる、凍る、フリーズ、ハングアップ。 マウスは動 …

no image

通常使うプリンタを取得する

通常使うプリンターを取得する方法をいくつか挙げる。 ①GetDefaultPrinter TCHAR printerName[1024]; DWORD dwBufferSize = 1024; BOO …

no image

VisualStudio2005

帰国後の1週間を乗り切った。 バカンスモードの体からビジネスモードに切り替えるのは、 なかなか厳しかったが、この1週間で徐々に慣れてきた。 夢のような南国リゾートとは違い、現実世界は厳しい。 さて、V …