関数ポインタを引数にもつ関数が一覧に表No.20230
リカク さん 05/10/21 18:58
 
次のような関数を定義したC言語のソースファイルがあるのですが
関数一覧を表示した場合、sub2は表示されるのですが、
sub1は表示されません。

解決策がありますでしょうか?

sub1(a, b)
int (*a)();
int b;
{
}

sub2(int (*a)(), int b)
{
}

[ ]
RE:20230 関数ポインタを引数にもつ関数がNo.20232
ENCODINGSHIFTJIS さん 05/10/22 11:41
 

) から { までの複数行の認識ですから、単純な行の強調では難しいと思います。

grep や ctags を頻繁にするくらいしか、考えつきません
---------------
 Ruby本体は、いまもK&R C
http://homepage3.nifty.com/mmgames/c_guide/c_kandr.html

[ ]
RE:20232 関数ポインタを引数にもつ関数がNo.20235
秀丸担当 さん 05/10/24 11:47
 

一応、添付の C-function.hilight を使えば、このケースでも最初の一行だけで
行の強調表示にヒットして、強調表示の一覧で表示することができます。

関数一覧によるC言語関数の解析では、例のような場合、途中に括弧の始まり
「(」を含むと、それが関数名かもしれない可能性を探っています。
より高度な解析をすれば可能かもしれないですが、強調表示の一覧ではどうでし
ょうか。

[ ]
RE:20235 関数ポインタを引数にもつ関数がNo.20243
リカク さん 05/10/24 19:17
 
秀丸担当様
C-function.hilight を使うことにします。
ありがとうございました。

最近、ずいぶん前に書かれたソースを見る事が多くて、
旧式の宣言ばかりなんです。

ENCODINGSHIFTJIS さんもありがとうございました

[ ]