source: TECS-SimpleSample/trunk/README.txt@ 37

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

totally brush up

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