検索結果 4 件

by bswrap
1年前
フォーラム: C言語何でも質問掲示板
トピック: define で括弧付きの文字列を置き換える
返信数: 8
閲覧数: 6541

Re: define で括弧付きの文字列を置き換える

ありがとうございます。

#defineではできないこと、なぜできないか、を理解できました。

*(p->func_addr)のpの先を置き換えるか、sed等でプリ処理を作って対処します。
by bswrap
1年前
フォーラム: C言語何でも質問掲示板
トピック: define で括弧付きの文字列を置き換える
返信数: 8
閲覧数: 6541

Re: define で括弧付きの文字列を置き換える

あらかじめ、#define で単純に置き換えられるYYYになっていれば
切り替え可能ですが、現状 *(p->func_addr)なので
「ソースの*(p->func_addr)をYYYに置換して」の前提が無理です。
既存コードに手を入れるのはなしでいきたいので
#define で無理であれば、sed とかパイプつないで入力は手が入っていない元ソース
にしようと思います。
そこまでするなら元ソース手を入れても同じじゃんとは私も思うのですが。
by bswrap
1年前
フォーラム: C言語何でも質問掲示板
トピック: define で括弧付きの文字列を置き換える
返信数: 8
閲覧数: 6541

Re: define で括弧付きの文字列を置き換える

レスありがとうございます。

いえ、元の順序であっています。
元々のCソースに *(p->func_addr)と書いてあるところを、XXXというテストスタブで
置き換えたい感じです。
by bswrap
1年前
フォーラム: C言語何でも質問掲示板
トピック: define で括弧付きの文字列を置き換える
返信数: 8
閲覧数: 6541

define で括弧付きの文字列を置き換える

初めて質問させていただきます。

やりたいこと
括弧付きの文字列を#defineで置き換えたい。
例としては、
*(p->func_addr)
といった文字列を #define で置き換えたいです。

単純に
#define *(p->func_addr) XXX
とすると、括弧は #define A(x) ((x)+1)みたいな意味に解釈されてしまいますよね?
これを括弧含めてただの文字列としてXXXに置き換えたいです。

やり方、それは無理、無理だけどこんな代替がある、があれば教えて頂きたいと思います。

よろしくお願いいたします。

詳細検索ページへ移動する