Simple な Sample 2012年 6月17日 【ライセンス】 本ソフトウェアについて、簡単なものであり、個々のファイルにはライセンス 条件を記載していませんが、TOPPERS ライセンスに準じます。 【概要】 TECS のもっとも単純なサンプルです。 exerb 版の TECS ジェネレータと cygwin 版の gcc だけで動作します。 cygwin 上で pthread を用いた tTask 等のセルタイプを用意していますが、 あくまでテスト用であり、完成度はもう一歩です。いろいろ変更して試そうと すると、期待した動作にならない可能性が高いのでご注意ください。 【動作環境】 cygwin 上でビルドし動作します。Linux などで動作させるときは Makefile の TECSGEN を tecsgen.exe から tecsgen に変更してください。 【使用方法】 1) ファイルの展開 tecs_package ディレクトリの直下 asp+tecs, tecsgen の並びに SimpleSample を置いてください。exerb 版 tecs_package-+- asp+tecs | +- tecsgen | +- SimpleSample -+- SimpleSample (※) | +- SimpleSampleOpaqueRPC | +- SimpleSampleTransparentRPC svn の trunk のディレクトリの位置に対応します。名前は変更しても構いません。 2) 準備 cygwin コンソールを開き、以下のような方法で set_env.sh ないの PATH 等 を取り込みます。 % cd tecs_package/tecsgen % source set_env.sh exerb 版を使用するため、TECS ジェネレータのビルドは不要です。 3) 直接結合版のビルドと実行 ・ビルド % cd tecs_package/SimpleSample/SimpleSample % make tecs % make all ・実行 % ./SimpleSample.exe ・trace ありのビルド % cd tecs_package/SimpleSample/SimpleSample % make tecs -f Makefile-trace % make all -f Makefile-trace ・実行 % ./SimpleSample-trace.exe 4) transparent RPC 版のビルドと実行 ・ビルド % cd tecs_package/SimpleSample/SimpleSampleTransparentRPC % make tecs % make all ・実行 % ./SimpleSample.exe 実行後、サーバー側のタスクが終了しないため、プロセスが終了しません。 ctrl-C で終了させてください。 わかりにくいですが、Simple と Sample は異なるタスクで実行されています。 4) transparent RPC 版のビルドと実行 ・ビルド % cd tecs_package/SimpleSample/SimpleSampleOpaqueRPC % make tecs % make all ・実行 2つの cygwin コンソールを使います。 1 つ目のコンソールでサーバー側を起動します。 % ./rSample/SimpleSample-rSample.exe 2 つ目のコンソールでクライアント側を起動します。 % cd tecs_package/SimpleSample/SimpleSampleOpaqueRPC % ./rSimple/SimpleSample-rSimple.exe 終了後、サーバー側のプロセスは transparent RPC と同様終了しないため、 ctrl-C で終了させてください。 Sample(サーバー) のメッセージが Simple(クライアント) 側で出力されます が、これは out 引数で返されたものを表示しているためです。 重要なことは、tSimple.c, tSample.c は、まったく無変更で 4 つのパターンに 対応しています。簡単に再利用が図られることがわかります。 【次のステップ】 うまく動いたら、次のステップとしてやってみることを記します。 ・シグニチャ sSample に関数を追加する まずは、これの手順を理解しましょう。