関数名を切り替えたい

解決


とまと  2002-05-14 10:12:26  No: 50167  IP: [192.*.*.*]

こんにちは。早速質問させていただきます。

数百のファイルがあり、その中にいくつもの関数が記述されています。
そしてそのファイルの中から「fucn_002」という関数をすべて
「zi_fucn_002」に変えることが目的です。

コンパイルスイッチでファイルの中を検索して
#ifdef A
    fucn_002(a, b);
#else
    Zi_func_002(a, b);
#endif
としていては、かなりの作業ですし、抜けがあるかもしれません。

どのような方法でもいいのですので、何かいい方法がありましたら
ご教授お願いいたします。

編集 削除
不良PG  2002-05-14 12:08:53  No: 50168  IP: [192.*.*.*]

共通ヘッダファイルで

#define fucn_002(a, b)   zi_fucn_002(a, b)

編集 削除
取りすがり  2002-05-14 13:28:58  No: 50169  IP: [192.*.*.*]

マルチはやめたほうがいのでは。

編集 削除
とまと  2002-05-14 13:45:17  No: 50170  IP: [192.*.*.*]

ご返答ありがとうございます。

#define fucn_002(a, b)   zi_fucn_002(a, b)
を関数本体よりも後に定義してやればできました。
関数本体より前に定義すると、「実体は定義されています」というような
エラーとなりました。

編集 削除
不良PG  2002-05-14 14:51:05  No: 50171  IP: [192.*.*.*]

ちょっと抜けてました・・(汗

関数の定義自体(宣言も)をコンパイルスイッチで切り替えればよいでしょう
#ifdef A
    fucn_002(a, b) { }
#else
    Zi_func_002(a, b) { }
#endif

編集 削除
とまと  2002-05-14 18:41:42  No: 50172  IP: [192.*.*.*]

ありがとうございました。

編集 削除