掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     #if 0 #else #endif で囲まれたメソッドが読み込まれない


フラット表示 前のトピック | 次のトピック
投稿者 トピック
sugimoto
投稿日時: 2007-11-28 13:29
EA Administrator
投稿: 1895

Re: #if 0 #else #endif で囲まれたメソッドが読み込まれない

本ご指摘について、開発元に確認を行いました。

現状、Enterprise Architectでは、ソースコード読み込み時の
プリプロセッサにつきましては、一切判断していないという
認識をもっていたのですが、実際には、現状、一部判断を
行っておりました。

現在の動作としまして、プリプロセッサを完全に判断することは
コンパイラのような機能を有する必要があり困難であるため
行っていないのですが、

・最初のブロック(今回の場合は、#if~#else)は読み込みを行い、
・それ以降のブロック(今回の場合は、#else~#endif)は読み込みを行わない、

という動作を行っています。
#if 0 なのか #if 1 なのかという判断は行っていません。

すべてのユーザーにとって上記対応が有効ではないことは認識
しているが、完全な対応は困難であることから、現状は上記の
ような対応を行っているという状況です。


プリプロセッサの判断について、完全な判断は困難だと思いますので、
恐れ入りますが、Enterprise Architectに読み込むソースコードに
つきましては、プリプロセッサの最初のブロックに情報を記述いただ
きますようお願いいたします。

今回の場合は、以下のように、#if~#else と #else~#endif間の
情報を置き換えていただければと思います。

#if 1
  void funcC(void);
#else
 // void funcB(void);
#endif

お手数をお掛けいたしますが、ご対応のほど、よろしくお願いいたします。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   #if 0 #else #endif で囲まれたメソッドが読み込まれない sugimoto 2007-11-26 17:00
   » Re: #if 0 #else #endif で囲まれたメソッドが読み込まれない sugimoto 2007-11-28 13:29