genproto

C に適用

目的

K&R 関数定義から ANSI プロトタイプを生成する。これは、K&R から ANSI に簡単に変遷するのに役立ちます。

構文


構文図

parmnames を指定せずに -qgenproto を使用すると、プロトタイプはパラメーター名なしで生成されます。parmnames を指定すると、パラメーター名がプロトタイプに組み込まれます。

以下の関数が foo.c にある場合に、

foo(a,b,c)
  float a;
  int *b;
  int c;

以下を指定すると、

xlc -c -qgenproto foo.c

以下が生成されます。

int foo(double, int*, int);

パラメーター名は除去されます。一方、以下を指定すると、

xlc -c -qgenproto=parmnames foo.c

以下が生成されます。

int foo(double a, int* b, int c);

この場合、パラメーター名は保持されます。

K&R 関数に渡される前に狭い型の引き数 (charshortfloat など) すべてが拡張されることが ANSI で規定されているため、 float a は、プロトタイプでは double または double a として示されることに注意してください。

関連参照

コンパイラーのコマンド行オプション IBM Copyright 2003