Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sluchin/calc

client server calculator interpreter
https://github.com/sluchin/calc

Last synced: 2 months ago
JSON representation

client server calculator interpreter

Awesome Lists containing this project

README

        

開発環境
Ubuntu 11.10
Linux 3.0.0-15-generic-pae #26-Ubuntu SMP
gcc バージョン 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
GNU Make 3.81
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08

動作確認環境
Fedora 16 i686 3.1.0-7.fc16.i686 #1 SMP
Fedora 16 x86_64 3.1.0-7.fc16.x86_64 #1 SMP
CentOS 6.2 i386 2.6.32-220.el6.i686 #1 SMP
Debian GNU/Linux 6.0.3 i386 2.6.32-5-686-bigmem

GNU readline インストール
Ubuntu の場合
$ sudo apt-get install libreadline6-dev
Fedora の場合
$ sudo yum install readline-devel

コンパイル
$ cd calc
$ make clean all または make clean debug

インストール
$ sudo make install

クライアントサーバ
サーバデーモン起動
$ cd server
$ ./calcd
クライアントプログラム起動
$ cd client
$ ./calcc

スタンドアロン
$ cd calc
$ ./calcp

cutter インストール
http://cutter.sourceforge.net/reference/ja/install.html

テスト
cutter ライブラリをインストールし, make clean debug && make test コマンドを実行する.

ドキュメント生成
doxygen, graphviz, mscgen をインストールし, make doc コマンドを実行する.

コーディングのコンセプト
1. 戻り値を返す関数は必ず戻り値チェックしてログを出力する.
2. 戻り値を返す標準関数であえて戻り値をチェックしない場合は, void でキャストする.
3. 見映えを揃えるために決まった場所に必ずコメントを入れる.
4. エラーハンドラでは, goto 文を積極的に使用する.
5. メモリ解放後, NULL を代入する.
6. ソケットクローズ後, -1 を代入する.