ありがとうございます。
#defineではできないこと、なぜできないか、を理解できました。
*(p->func_addr)のpの先を置き換えるか、sed等でプリ処理を作って対処します。
検索結果 4 件
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: define で括弧付きの文字列を置き換える
- 返信数: 8
- 閲覧数: 6541
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: define で括弧付きの文字列を置き換える
- 返信数: 8
- 閲覧数: 6541
Re: define で括弧付きの文字列を置き換える
あらかじめ、#define で単純に置き換えられるYYYになっていれば
切り替え可能ですが、現状 *(p->func_addr)なので
「ソースの*(p->func_addr)をYYYに置換して」の前提が無理です。
既存コードに手を入れるのはなしでいきたいので
#define で無理であれば、sed とかパイプつないで入力は手が入っていない元ソース
にしようと思います。
そこまでするなら元ソース手を入れても同じじゃんとは私も思うのですが。
切り替え可能ですが、現状 *(p->func_addr)なので
「ソースの*(p->func_addr)をYYYに置換して」の前提が無理です。
既存コードに手を入れるのはなしでいきたいので
#define で無理であれば、sed とかパイプつないで入力は手が入っていない元ソース
にしようと思います。
そこまでするなら元ソース手を入れても同じじゃんとは私も思うのですが。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: define で括弧付きの文字列を置き換える
- 返信数: 8
- 閲覧数: 6541
Re: define で括弧付きの文字列を置き換える
レスありがとうございます。
いえ、元の順序であっています。
元々のCソースに *(p->func_addr)と書いてあるところを、XXXというテストスタブで
置き換えたい感じです。
いえ、元の順序であっています。
元々のCソースに *(p->func_addr)と書いてあるところを、XXXというテストスタブで
置き換えたい感じです。
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: define で括弧付きの文字列を置き換える
- 返信数: 8
- 閲覧数: 6541
define で括弧付きの文字列を置き換える
初めて質問させていただきます。
やりたいこと
括弧付きの文字列を#defineで置き換えたい。
例としては、
*(p->func_addr)
といった文字列を #define で置き換えたいです。
単純に
#define *(p->func_addr) XXX
とすると、括弧は #define A(x) ((x)+1)みたいな意味に解釈されてしまいますよね?
これを括弧含めてただの文字列としてXXXに置き換えたいです。
やり方、それは無理、無理だけどこんな代替がある、があれば教えて頂きたいと思います。
よろしくお願いいたします。
やりたいこと
括弧付きの文字列を#defineで置き換えたい。
例としては、
*(p->func_addr)
といった文字列を #define で置き換えたいです。
単純に
#define *(p->func_addr) XXX
とすると、括弧は #define A(x) ((x)+1)みたいな意味に解釈されてしまいますよね?
これを括弧含めてただの文字列としてXXXに置き換えたいです。
やり方、それは無理、無理だけどこんな代替がある、があれば教えて頂きたいと思います。
よろしくお願いいたします。