source: SimpleSample/trunk/README.txt@ 34

Last change on this file since 34 was 34, checked in by okuma-top, 12 years ago

totally brush up

  • Property svn:executable set to *
File size: 3.7 KB
RevLine 
[34]1TECS の Simple な Sample
[31]2
3 2012年 6月17日
4
5
6【ライセンス】
7本ソフトウェアについて、簡単なものであり、個々のファイルにはライセンス
8条件を記載していませんが、TOPPERS ライセンスに準じます。
9
10【概要】
[34]11
[32]12TECS のもっとも単純なサンプルです。 exerb 版の TECS ジェネレータと
[34]13cygwin 版の gcc だけで動作します。Linux などの POSIX 環境でも動作しま
14す。
15exerb 版で動作しますので、Ruby や racc のインストールする必要がありま
16せん。
[31]17
18【動作環境】
19
[34]20cygwin 上でビルドし動作します。2012.6.2 に発行された tecs_package
21(TECS ジェネレータ V1.1.0.4 を同梱) を用いてください。exerb 版を用いる
22ようになっているため、Ruby インタープリターは不要です。
[31]23
[34]24 exerb 版とは ruby インタプリタと TECS ジェネレータが一体の exe 化さ
25 れたもので、ruby インタプリタのインストールを必要としません。
[31]26
[34]27Linux などの POSIX 環境でも動作させることができます。その場合 Makefile
28の TECSGEN_EXE を tecsgen.exe から tecsgen に変更してください。Ruby
291.8 がインストールされている必要があります。Ruby 1.9 には対応しません。
30
31【準備】
32
[31]331) ファイルの展開
34
35 tecs_package ディレクトリの直下 asp+tecs, tecsgen の並びに
[34]36 SimpleSample を置いてください。exerb 版を用いる都合上、tecsgen コマン
37 ド引数に与えるパスは、すべて相対パスで指定しています。
[31]38
39 tecs_package-+- asp+tecs
40 |
41 +- tecsgen
42 |
43 +- SimpleSample -+- SimpleSample
[34]44 (※) |
45 +- SimpleSampleTrace
46 |
47 +- SimpleSampleOpaqueRPC
48 |
49 +- SimpleSampleTransparentRPC
[31]50
[34]51※ svn の trunk のディレクトリの位置に対応します。名前は変更しても構いません。
[31]52
[34]532) パスの設定
[31]54
[34]55 cygwin コンソールを開き、以下のような方法で set_env.sh 内の PATH 等を
56 取り込みます。
[31]57
58 % cd tecs_package/tecsgen
59 % source set_env.sh
60
61 exerb 版を使用するため、TECS ジェネレータのビルドは不要です。
62
[34]63【ビルドと実行】
64
[31]653) 直接結合版のビルドと実行
66
67・ビルド
68
69 % cd tecs_package/SimpleSample/SimpleSample
70 % make tecs
71 % make all
72
73・実行
74
75 % ./SimpleSample.exe
76
[34]774) 直接結合の TracePlugin あり版のビルドと実行
[31]78
[34]79 % cd tecs_package/SimpleSample/SimpleSampleTrace
80 % make tecs
81 % make all
[31]82
83・実行
84
[34]85 % ./SimpleSample.exe
[31]86
[34]875) transparent RPC 版のビルドと実行
[31]88
89・ビルド
90
91 % cd tecs_package/SimpleSample/SimpleSampleTransparentRPC
92 % make tecs
93 % make all
94
95・実行
96
97 % ./SimpleSample.exe
98
99 実行後、サーバー側のタスクが終了しないため、プロセスが終了しません。
100 ctrl-C で終了させてください。
101 わかりにくいですが、Simple と Sample は異なるタスクで実行されています。
102
[34]1036) opaque RPC 版のビルドと実行
[31]104
105・ビルド
106
107 % cd tecs_package/SimpleSample/SimpleSampleOpaqueRPC
108 % make tecs
109 % make all
110
111・実行
112
113 2つの cygwin コンソールを使います。
114 1 つ目のコンソールでサーバー側を起動します。
115
116 % ./rSample/SimpleSample-rSample.exe
117
[34]118 次に 2 つ目のコンソールでクライアント側を起動します。
[31]119
120 % cd tecs_package/SimpleSample/SimpleSampleOpaqueRPC
121 % ./rSimple/SimpleSample-rSimple.exe
122
123 終了後、サーバー側のプロセスは transparent RPC と同様終了しないため、
124 ctrl-C で終了させてください。
125 Sample(サーバー) のメッセージが Simple(クライアント) 側で出力されます
126 が、これは out 引数で返されたものを表示しているためです。
127
[34]128【ポイント】
[32]129
[34]130ポイントは、各 CDL 内の tSimple, tSample の定義、セルタイプコード
131tSimple.c, tSample.c は、まったく無変更で 4 つのパターンに対応している
132ことです。再利用が図られることがわかります。
133
[31]134【次のステップ】
135
136うまく動いたら、次のステップとしてやってみることを記します。
137
138 ・シグニチャ sSample に関数を追加する
139 まずは、これの手順を理解しましょう。
140
[34]141 ・もう一組インスタンスを設ける
[31]142
[34]143【cygwin_kernel について】
144
145cygwin 上で pthread を用いた tTask 等のセルタイプを用意していますが、
146テストドライバーまたはスタブであり、ほとんど機能は備わっていません。
147
Note: See TracBrowser for help on using the repository browser.