dkutil_c
0.196
- TODO:
Version 0.196
dkcAVLTree.c dkcDeque.c dkcTextSave.c を廃止予定 dkcRegex.cは実装できたら有用だと考えたため作る事にした。
- dkcLZW.c dkcRegex.c dkcBlockSort.cを完全実装したら
- SHA160, SHA192, SHA224 ,
- HAVAL128,HAVAL160, HAVAL192, HAVAL224, HAVAL256,
- RIPEMD128, RIPEMD256, RIPEMD320,
- MD4,
- TIGER, TIGER128, TIGER160,
- ALDER32,
- CRC32, CRC32b,
- WHIRLPOOL,
- GOST を実装,テスト終了したら Version1.0を出す予定。先は長い・・・。
Version 0.195
以下同
Version 0.194
以下のものはまだ作りかけ
dkcSerialize.c,dkcSafeFileSystem.c,dkcRegex.c,dkcLua.cは廃止にする予定。 sampleフォルダを削除する予定。
以下のものはまだテストしていない
Version 0.19
- やはり微妙に使えないところがあるのでそこら変を直す。
- Serialize系は使いにくいので再考 C++系にするかどうか迷う・・・
- Rijndael系
- 細かいバグチェック
- boost::spiritのようにインクルードするだけで使えるようにする。
仕様が変わるかもしれない系
Version 0.17
- 微妙に使えないところがあるのでそこラへんを直す。
- Serialize ,Deserialize系のテスト。(まだ仕様が固まっていないので使わないどいてください^^;
- Rijndael系
- 細かい、思わしくない状態遷移の確認
作りかけ系
- 分布数えソート
- dkcThreadLock
- シリアライズの仕様
- その他、不必要と思われる関数
注意:サイズが大きいし、使いにくいので廃止します。欲しい方は旧バージョンのdkutil_cから持ってきてください。
cgc.exe
C言語の文法チェッカーです。
なんか、dkutil_cは上手くチェックを通らないのですが^^;
何故か、コンパイル出来てしまいます。
mysha1.exe
1MB以内のファイル専用SHA1出力機です。
その他はこのdkc.hを読み込めばVisualC++ならば普通に使えるはず。 もちろん、パスの設定はしっかり各自で行ってください^^;;;
Dev-C++、およびBCCでもコンパイルできるものはコンパイルできるのでご活用ください。
-
BCC Developer ( Borland C++ Compiler )
dkutil_c.bdpを開いてください。
必要に応じてプロジェクトの設定でインクルードパスを直してください。
-
Dev-C++ ( MinGW )
dkutil_c.devを開いてください。
何も設定しなくてもすぐにコンパイルできるはずです。
-
VisualC++ 6.0
上のディレクトリのdkutil.dswを開いてください。
(ない場合はdkutil_c.dspを開いてください)
普通にコンパイルできるはずです。
-
VisualC++.NET
VisualC++6.0と同じ方法でコンパイルしてみてください。
それが出来ないのであれば、 プロジェクトを自分で作ってコンパイルしてください。
その際、dkutil_cフォルダ内にあるすべての
cファイルおよびhファイルをプロジェクトに追加してください。
- dkcAlloc機能の名前()という関数でメモリ領域を取得
- dkc機能の名前 操作名( 取得したメモリ領域へのポインタ , 引数) という形での操作
- dkcFree機能の名前()と言う関数でメモリ領域を開放
- VC,BCC,MinGWすべてでコンパイルできる。
- 暗号化系のライブラリやロジックの追加
- AVL木
- すべての機能をコンパイルできるようにする。
- Block sort
- その他、OSに依存しない処理など。(ソートアルゴリズムとか圧縮アルゴリズムとか。
- サンプルソースとか。
- glibに負けないぞ!ヽ(`Д´)ノ(車輪の再発明やだ〜)
経緯
dkutil_c(以下dkc)ライブラリに似たようなのにglibという老舗ライブラリがあるが、 ライセンスがLGPLなので、ダイナミックリンクしか出来ない。スタティックリンクもOKだが、何かとねぇ。 これはちょっと痛いので私の勉強ついでに組んで見たライブラリが これである。結構、機能的には汎用性は高いと思う。
関数の命名規則
- dkcが接頭辞としてつく
- dkc + コンテナ(または機構)の名前 + コンテナ(または機構)に対する操作の名前 例外:メモリ確保系の関数は以下のようになる。
- dkcAlloc コンテナ(または機構)の名前
- dkcFree コンテナ(または機構)の名前 プリプロセッサを通す奴は・・・ ^ マクロにはdkcmが接頭辞として付く。(一部例外もある) ^ #define定義にはdkcdが接頭辞としてつく。 その他の命名規則
- 関数のポインタへの型はdkcfpが接頭辞として付く。
関数のWINAPIについて VB等でもdkcをDLL化したものを使えるように dkcライブラリの関数のほぼすべてをWINAPI修飾子を付けています。 偶に忘れていることがあるので教えて頂けると幸いです^^;
その他のマクロ
- USE_DKC_INDEPENDENT_INCLUDE / dkutil_c内のヘッダだけをインクルードするだけで機能を使用できる状態にする。
しかし、対応していない機能(*.hファイル)も多数ある。これはコンパイルするファイルが他のヘッダファイルをインクルードするためである。 - USE_DKC_DLL / dkutil_cをDLLとしてコンパイルするとき、指定してください。
BSD Licenceで
- dkc2TreeをAVL木にしてくださる方
- dkcDequeをstd::deque見たいにしてくださる方 ソースコードを募集しています。m(_ _)m
それから、dkutil_cの作者にプログラミングの資料代や生活費を寄付してくれる方、お気持ちで結構ですので、よろしく御願いします。m(_)m
このライブラリは、今の所、Windows専用です。 LinuxやMacに対応するのは数年先だと思います。(予算の都合上・・・)
BSD Licenceです。
dkutil_cはdkutilの付属物なので、 dkutilのライセンスを説明書等に丸写しすればOKです。
作者への報告があれば、当然喜びますし、より良いライブラリになるでしょう。
報告がなくても、商用利用してかまいませんし、改変をしてもかまいません。
- C言語によるアルゴリズム辞典(奥村晴彦、技術評論社)
連絡がつかない場合 http://www3.to/shisui/ または、dKingyo Utility Toolkit とか dkutilとかのキーワードで ググってみると(Googleで検索すると)出てきます。
dkutil_cに対してTue Feb 22 02:01:46 2005に生成されました。
1.3.6