`
javaG
  • 浏览: 550178 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C的几问几答

阅读更多

#if   defined(__cplusplus)   ||   defined(c_plusplus)  
  extern   "C"   {  
  #endif  
   
  typedef   struct   _CTest  
  {  
  int   (*p)(struct   _CTest   *q);  
  }   CTest;  
   
  #if   defined(__cplusplus)   ||   defined(c_plusplus)  
  };  
  #endif  
  1、请解释__cplusplus/c_plusplus含义  
  2、#if   defined(__cplusplus)   ||   defined(c_plusplus)  
  extern   "C"   {  
  #endif  
  和  
  #if   defined(__cplusplus)   ||   defined(c_plusplus)  
  };  
  #endif  
  的作用,为什么这么用  
  3、int   (*p)(struct   _CTest   *q);这么定义是什么意思  
  4、while   (1)   是什么意思  
  5、#if   0  
  endif   什么意思  
  6、#pragma   message("WARNING")什么意思  
   
   
  #define   VTBL(iname)               iname##Vtbl  
   
  #define   QINTERFACE(iname)   \  
  struct   _##iname   {\  
      struct   VTBL(iname)     *pvt;\  
  };\  
  typedef   struct   VTBL(iname)   VTBL(iname);\  
  struct   VTBL(iname)  
  7、##和\在这里什么意思  
  8、请解释上面代码含义  
  9、有没有关于vc6   project/settting的各项设置的详细介绍.  
  10、C/C++选项Project   Options含义,..\..\inc什么意思

×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

1、请解释__cplusplus/c_plusplus含义  
  以   C++   方式编译,文件名为   *.c   时为   C   方式编译   *.CXX(如CPP)为   C++   方式编译  
   
  2、#if   defined(__cplusplus)   ||   defined(c_plusplus)  
  extern   "C"   {  
  #endif  
  和  
  #if   defined(__cplusplus)   ||   defined(c_plusplus)  
  };  
  #endif  
  的作用,为什么这么用  
  如果以   C++   方式编译的话,为了   C   和   C++   方式编译的程序都能连接,导出   C   方式的函数  
   
  3、int   (*p)(struct   _CTest   *q);这么定义是什么意思  
  函数指针定义,可以在运行过程中指定实际的函数名称或者指针  
   
  4、while   (1)   是什么意思  
  死循环  
   
  5、#if   0  
  endif   什么意思  
  Debug   编译选项,这里时不编译该部分代码  
   
  6、#pragma   message("WARNING")什么意思  
  中间一段代码不显示编译警告  
  不过应该有结束标记呀  
   
   
  #define   VTBL(iname)               iname##Vtbl  
   
  #define   QINTERFACE(iname)   struct   _##iname   {     struct   VTBL(iname)     *pvt; }; typedef   struct   VTBL(iname)   VTBL(iname); struct   VTBL(iname)  
  7、##和\在这里什么意思  
  ##是什么?可能是通配符吧  
  \   与下一行的代码同时组成一行   、

1、请解释__cplusplus/c_plusplus含义  
  以   C++   方式编译,文件名为   *.c   时为   C   方式编译   *.CXX(如CPP)为   C++   方式编译  
   
  2、#if   defined(__cplusplus)   ||   defined(c_plusplus)  
  extern   "C"   {  
  #endif  
  和  
  #if   defined(__cplusplus)   ||   defined(c_plusplus)  
  };  
  #endif  
  的作用,为什么这么用  
  如果以   C++   方式编译的话,为了   C   和   C++   方式编译的程序都能连接,导出   C   方式的函数  
   
  3、int   (*p)(struct   _CTest   *q);这么定义是什么意思  
  函数指针定义,可以在运行过程中指定实际的函数名称或者指针  
   
  4、while   (1)   是什么意思  
  死循环  
   
  5、#if   0  
  endif   什么意思  
  Debug   编译选项,这里时不编译该部分代码  
   
  6、#pragma   message("WARNING")什么意思  
  中间一段代码不显示编译警告  
  不过应该有结束标记呀  
   
   
  #define   VTBL(iname)               iname##Vtbl  
   
  #define   QINTERFACE(iname)   struct   _##iname   {     struct   VTBL(iname)     *pvt; }; typedef   struct   VTBL(iname)   VTBL(iname); struct   VTBL(iname)  
  7、##和\在这里什么意思  
  ##是什么?可能是通配符吧  
  \   与下一行的代码同时组成一行

##是联字符.比如#define   MACRO(a,   b)   a##b  
  那么在代码中出现MACRO(a,   1)时会替换为a1    
   
  8、请解释上面代码含义  
   
  9、有没有关于vc6   project/settting的各项设置的详细介绍.  
   
  10、C/C++选项Project   Options含义,..\..\inc什么意思  
  ..\   表示上一层路径

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics