戯言徒然日記開発日記東方DTMC/C++DoJaLuaCG備忘録
気が向いたら創作活動とかしてる人のチラシの裏。
--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2007.06.29 Fri
両方ともプリプロセッサで有効。

[#演算子]
マクロ関数の引数を引用符(" ")付きの文字列に変換する。
例)
#include
#define TOSTRING(V) # V

int main(void)
{
    int foo;
    foo = 12345;
    printf("%s is %d.", TOSTRING(foo), foo);
    return 0;
}

出力は foo is 12345. となる。



[##演算子]
前後の識別子を連結する。

例)
#define _FOO_FUNC(id,funcname) ¥
  int __¥¥id¥¥_¥¥funcname(void)

_FOO_FUNC(HOGE, FUNCTION) {return 0;} と書くと、

int __HOGE_FUNCTION(void) {return 0;} に展開される。

※#define中の¥記号は#defineを複数行に渡って書けるようにするもの。
→たぶんヒアドキュメントってやつ。
スポンサーサイト
Template by まるぼろらいと
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。