宏参数可以是没有定义类型的东西,很奇特!
REGISTER_OSGEARTH_LAYER(land_cover_dictionary, LandCoverDictionary);
#define REGISTER_OSGEARTH_LAYER(NAME,CLASS) \
extern "C" void osgdb_##NAME(void) {} \
static osgEarth::RegisterPluginLoader< osgEarth::PluginLoader<CLASS, osgEarth::Layer> > g_proxy_##CLASS_##NAME( #NAME );
在宏里面可以对宏参数解释成类名,也可以解释成函数中的一部分字符串。