C++中的C函数声明疑问?该怎么解决

C++中的C函数声明疑问?
C++声明C函数
C/C++ code

#ifdef __cplusplus 
extern "C" { 
#endif

    //一段代码

#ifdef __cplusplus 
    } 
#endif



可以这样写吗?如果不行的话,原因是什么?
C/C++ code

#ifdef __cplusplus 
extern "C" { 
    //一段代码
}
#endif



------解决方案--------------------
你这么写当然可以,但是作用和上面的不一样了啊。上面的代码,无论宏的值如何,“一段代码”都会被执行,而你的代码,如果宏没有定义,就不执行这“一段代码”了啊