掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
C言語の#defineの形式を変更したい |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2011-10-13 15:29 |
EA Administrator ![]() ![]() 投稿: 1895 |
C言語の#defineの形式を変更したいサポートに寄せられたご質問の要約です。
○ご質問 操作の「戻り値の型」欄に"#define"を設定し、 パラメータに「 0x1001」を設定して、 以下のようなコードを生成しています。 ------------------------ #define 操作名 ( 0x1001) ------------------------ 別の最適な方法がありましたら教えてください。 ○回答 以下の手順を行ってください。 1)操作のプロパティ画面を開いて「戻り値の型」から#defineを削除してください。 2)「タグ付き値」グループを開き、上部の「新規タグ付き値」アイコンをクリックし、 タグ欄にdefine、値欄にtrueと設定しOKボタンを押してください。 (この内容はヘルプ「Cの追加情報」にも記載があります。) ○ご質問(続) 1) "("の後にスペースを入れないとコンパイルエラーが出てしまいます。 パラメータにスペースを入れ込むことにより対応できるのですが、 もう少し簡単な方法はないでしょうか? 2) 下記のように、定義名と定義名コメントを表示することは可能でしょうか? #define 操作名 ( 0x1001) //起動要求 ○回答(続) 1)コード生成テンプレートをカスタマイズし、スペースを挿入するようにすることで、 ソースコード生成のタイミングでスペースを自動的に生成することが可能です。 C言語の「Operation Declaration」テンプレートの5行目で、 #define文を生成していますが、この行を以下のようにカスタマイズしてください。 #define %opName%(%list="Parameter" @separator=", " @indent=" "%) %opCode% 具体的には、リストマクロにインデントでスペースを指定(@indent=" "の部分)しています。 リストマクロの文法は、ヘルプ「制御マクロ」に記載がございます。 2) 上記1)を以下のようにカスタマイズしてください。 #define %opName%(%list="Parameter" @separator=", " @indent=" "%) %opCode% //%opNotes% 1)に対して、操作のノート(//%opNotes% の部分)を追加しています。 ソースコードの生成ルールのカスタマイズ方法は、PDFファイルやセミナーで紹介しています。 PDFドキュメントはこちらです: https://www.sparxsystems.jp/ea_documents.htm の「コードテンプレートフレームワーク(CTF) 機能ガイド」 セミナーの情報はこちらです: https://www.sparxsystems.jp/seminar/EACodeGenerate.htm (セミナーの内容を録画したメディアをお送りするサービスも実施しています。) |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




