掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     変数属性の設定について


フラット表示 前のトピック | 次のトピック
投稿者 トピック
tkouno
投稿日時: 2007-10-11 14:13
EA Administrator
投稿: 3939

Re: 変数属性の設定について

まず、現時点では__attribute__キーワードには
Enterprise Architectは対応しておりません。
この点は申し訳ございませんが、ご理解いただけますと助かります。
(下記の修正を行い生成したソースファイルは、そのままでは
読み込むことはできない、ということです。「プログラム言語の
マクロとして「__attribute__()」を追加することで
ソースコードを解釈できるようになります。)


出力を変更する場合には、コード生成テンプレートを編集します。
少し長くなりますが、ご確認ください。

1. メインメニューから「設定」→「コード生成のテンプレート」を選択
2. 左上の「言語」でC++を選択
3. 左側のテンプレートの一覧で「Attribute Declaration」を選択
4. 左下の「ステレオタイプ指定のテンプレートの追加」ボタンを押す
5. 表示されるダイアログで、「クラス」に「struct」を選択する。「特性」は空のまま。OKボタンを押す。
6. 左下の「ステレオタイプの上書き」一覧で、今作成した「struct」を選択する
7. 右側のエディタの領域に、以下の内容をコピーする(既に内容が表示されている場合には、上書きになります)

---ここから

%REPLACE(attTag:"Attribute", ";", "\n")%
%PI=" "%
%attStatic=="T" ? "static" : ""%
%if attStereotype=="property" or attStereotype=="event"%
%attTag:"virtual"? "virtual"%
%attStereotype%
%else%
%attTag:"initonly" ? "initonly"%
%attConst=="T" ? "const" : ""%
%attVolatile=="T" ? "volatile"%
%attTag:"mutable"=="true" ? "mutable"%
%if attTag:"literal" != "" and attInitial != ""%
literal
%endIf%
%endIf%
%RESOLVE_QUALIFIED_TYPE("::")%
%PI=""%
%attContainment=="By Reference" ? "*" : ""%
%attName%
%if attCollection == "T" and attContainerType != ""%
%attContainerType%
%endIf%
%if attTag:"literal" != "" and attInitial != ""%
= %attInitial%
%endIf%
__attribute__ ((packed));

---ここまで
(注:この内容は、もともとのテンプレートの内容を変えずに、最後の1行を追加しています。
無駄な部分が多いので、必要であればカスタマイズしてください)

8. 右下の「保存」ボタンを押す
9. コード生成を行う
(ただし、既にソースコード内に属性が存在する場合には、反映されません。)



ぜひお試しください。

また、このように、コード生成テンプレートを利用すると
出力結果を変えることができます。ドキュメントやヘルプファイルで
詳細を説明していますので、ぜひご覧ください。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   変数属性の設定について 未登録ゲスト 2007-10-11 13:49
   » Re: 変数属性の設定について tkouno 2007-10-11 14:13
       Re: 変数属性の設定について 未登録ゲスト 2007-10-11 15:36