リフレック

スラックを持つプログラマーの一般的なユーティリティのUNIX / Cライブラリ
今すぐダウンロード

リフレック ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • GPL
  • 価格:
  • FREE
  • 出版社名:
  • Libslack Team
  • 出版社のWebサイト:
  • http://libslack.org/
  • オペレーティングシステム:
  • Mac OS X 10.3.2 or later
  • ファイルサイズ:
  • 325 KB

リフレック タグ


リフレック 説明

Aスラックを持つプログラマのための一般的なユーティリティのUNIX / Cライブラリ Libslackは、UNIX / Cは、目の上にビットプログラミングが簡単になります一般的なユーティリティの自由とオープンソースのライブラリです。ここで「Libslack」のいくつかの主要な機能は次のとおりです。 プログラムのフレームワーク: ・libslackの「枠組み」の部分は、最も不快なことにバインドされています。誰も枠組みを好きではありません。心配しないで、それにはあまりありません。あなたはそれが気に入らない場合、それはありませんふり。 ・Libslackは、自分自身を識別コードとプロデュース「標準」GNUスタイル--help、--versionおよび使用方法のメッセージの単一の行にコマンドラインオプションの処理を実行するプログラムのための機能を提供します。デバッグおよびメッセージングVERBOSEも設けられており、「標準」--debugと--verboseコマンドラインオプションを使用することで有効になっています。 ・(エラー、デバッグ、および詳細なメッセージを含む)メッセージは、きれいな呼び出し構文と柔軟なセマンティクスが設けられています。 (あなたがあなた自身のメッセージハンドラを実装した場合と、他のどこに(たとえばダイアログボックス))のメッセージは、呼び出し構文を複雑にすることなく、ファイル、ファイルディスクリプタは、Syslogまたは上記のいずれかに多重化をログに記録するように指示することができます。 ・ISO Cは、シグナルハンドラの極端な制限を課しています。 POSIXは、それほど極端ではなく、まだ迷惑な制限を課します。 Libslackはあなたが書いたことをシグナルハンドラとリアル(ISO C準拠)シグナルハンドラの間に抽象化のレベルを提供する関数が含まれています。これは、あなたが無制限のシグナルハンドラを書くことができます。 ・粗視化永続シンプルな構成情報は、「既知の」場所でのJavaスタイルのプロパティファイルの使用により提供されるの。 デーモンサービス: ・Libslackは些細なデーモンを書くことにする機能を提供します。これは、デーモンになるために必要に応じてnamedデーモンの単一インスタンスのみが、同時にこれまでにアクティブであることを保証するために、PIDファイルをロック作成する機能が含まれています。適切なクライアント・プロセスは、INIT(8)またはinetdの(8)によって開始された場合は、デーモン機能振る舞います。 (一般的に/ etcディレクトリに見られるような)簡単な設定ファイルの構文解析を合理化するための機能もあります。関数は、(指定したファイルパスの安全性は、テスト、コアファイルの生成、変更のユーザーとグループを防ぐ、すなわち、REVOKEのsetuid / setgidの権限)ヘルプは、あなたがより安全なデーモンを書くこともあります。 namedデーモンが動作していると、それを停止するかどうかを確認する機能もあります。 ネットワークサービス: ・Libslackは、彼らが使用するネットワークサーバとクライアントの実装(TCP、UDP、ユニキャストとマルチキャスト)及び(テキストまたはバイナリ)を簡素化するためにアプリケーションプロトコルを機能を提供します。ネットワークサーバーとクライアントは、単一のコード行に設定することができます。 IPv4の、IPv6およびUNIXドメインソケットアドレスの透明支持体があります。 UDP上で信頼性のためのサポートがあります。テキストプロトコルは期待して送信機能の配列によって実現されています。バイナリプロトコルのパケットがパックとアンパックすることができます(パックに同様の機能を使用して()とunpack()Perlでなく、ネットワーク/ストレージ優しいです)。メールを送信する機能もあります。 エージェント指向プログラミング: ・Libslackは、エージェントのデータ型の形で一般的なエージェント指向のプログラミングモデルを提供します。オブジェクトと同様に、エージェントは、外部の刺激に反応することができます。オブジェクトとは異なり、薬剤はまた、独立した行動を取ることができます。これは、世論調査を(使用して任意のファイルディスクリプタのI / Oイベントを多重化)または選択します()ともスケジューリングアクションのためのタイマーを多重化することによって行われます。接続とファイルディスクリプタを切断するには、一定の時間で行われます。スケジューリングおよびキャンセルアクションは、一定時間内に行われます。タイマーのメンテナンスは、一定の平均時間で行われます。エージェントは、優れたタイマーの数に対してスケーラブルであり、スケジュールされたアクションの数千人をサポートすることができ、この手段。単一剤、単純なイベントループのように使用してもよいし、または複数の薬剤は、複数のスレッド、プロセスおよび/またはホスト間の任意のネットワークで相互に接続することができます。単一エージェントは、接続されたファイル記述子の数に対してスケーラブルではないが、複数のエージェントは、はるかに高いスケーラビリティを実現するために組み合わせることができます。彼らは、ネットワーク・アプリケーション、分散システムやシミュレーションに便利です。 データの種類: ・Libslackはリストと呼ばれる一般的な可変長のポインタの配列データ型、地図と呼ばれる一般的な成長可能なハッシュテーブルのデータ型や関数の山が付属していますまともな文字列データ型(Perlのから持ち上げ多く)を提供します。オプションで、「成長可能」空きリストと抽象単独および二重にリンクされたリストのデータ型もあります。 デカップリングスレッド安全性: ・libslackは、クライアントコードからスレッド同期戦略を切り離すロッカーデータ型を提供します。これにより、同期戦略の選択をクライアントに委任するコードを作成できます。これにより、ロック戦略の実行時間選択は、エンドユーザーに使用するロック戦略を指定できるようにすることを意味することを意味します。それは相互排除ロック、リーダー/ライターロック、そしてロッキングなしをサポートします。クライアントがデッドロックを見つけるのに役立つメッセージを標準出力に印刷するデバッグバージョンもあります。 http://raf.org/papers/mt-disciplined.htmlを参照してください。 コプロセッシングおよび疑似端末: ・libslackは、疑似端末を携帯端末を作成し、クライアントプロセスと通信するためにパイプまたは疑似端末を使用するコプロセセスを作成するための機能を提供します。 その他: ・LibSlackには、行末(UNIX、DOS、またはMacintosh)、FIFO、ファイル制御、POSIX.1の制限、Syslog機能/優先ペアの検索、Syslog機能/優先ペアの検索、Syslog機能/優先順位のペアの検索などのランダムな機能が含まれています。多次元配列、メモリプール、セキュアメモリ、セキュアメモリプール、ヒープソート機能もあります。また、GNU getopt_long()、strlcat()、strlcpy()、snprintf()、vsnprintf()、vsscanf()、asprinf()、およびそれらを持っていないシステムのためのvasprinf()およびvasprintf()も実装されています。 低レベルAPI: ・libslackには機能がたくさんありますが、API自体はできるだけ低いレベルです。システムによって提供されている完全に許容されるデータ構造を包む無償データ構造はありません。たとえば、ネットワーク機能は家庭用のソケットオブジェクトを返さない。彼らは、基礎となるシステムコールのようにファイル記述子を返します。コプロセシAPIは、(3)とPCLOSE(3)をPOPEN(3)とPCLOSE(3)に似ています。 fgetline(3)関数は標準のI / Oと完全に相互運用します。システムコールや標準ライブラリ関数のように、エラーはerrnoを介して返されます。あなたがスレッドプログラムを書いたらerrnoが好きではないかもしれませんが、私はerrnoが消え去るまでそれを受け入れることが最善です、そしてそれから利益を得る方法を見つけました。避けて、文字列モジュールは完全に良いチャールポインタを中心としたオブジェクトを包みますが、基本的な文字ポインタは常にアクセス可能で、通常のC文字列で動作するバージョンがあります。 ・この設計の目的は怠惰です。それは私が追加の関数ですべてのネット関連システムコールまたは標準文字列関数をラップする必要があり、アクセス方法をすでに知っている機能のための新しい識別子の負荷を学ぶ必要はありません。エラーコードについても同じです。私はそれらを再発明したくありません、そしてあなたはそれらを再学習する必要はありません。また、LibSlack関数を既存のプログラムに簡単に組み込むことができ、巨大なコードの書き換えや急な学習曲線を必要とせずに機能を強化することができます。 正確な文書: ・すべてのモジュールには、すべての機能を詳細に説明するマンページがあります。マンページ内の関数シグネチャはソースコードに対して体系的にチェックされて、それらが同期から抜け出すことがないことを確認します。 ・マンページには十分な例がたくさんあります。それらのほとんどは、ソースコードと同期していないことを確認するために体系的にコンパイルされ実行されています。 ・マンページの実際のテキストを体系的にチェックすることはできませんが、定期的に校正します。ドキュメントにあらゆる種類のエラーが発生した場合は、お知らせください。 ・マンページがより速く、他のものよりもアクセスが起こりやすいため、すべてのドキュメントの形式がマンページの形式を取ります。 徹底的なテスト: ・libslackは徹底的にテストされています。これはバグがないという意味ではありませんが、それが持っていないバグの大きなリストがあることを意味します。 SNPrintfモジュールを除くと、2,800個のテストがあります。 SNPrintfモジュールを含めて、150,000本のテストがあります。これらのテストは追加の例としても機能します。


リフレック 関連ソフトウェア