(1)在VC里面有很多函数返回值说明,经常是大写:
比如AFXAPI等等,不知道什么意思,在MSDN里面找也找不到(2)而且有的时候,一个函数声明前竟然有多个类型说明,例如:
BNACTLAPI TBNAError CALLTYPE BNACmdWork (TBNAhandle);
注:
BNACTLAPI------  #define BNACTLAPI extern "C" __declspec(dllimport)
TBNAError------typedef int  TBNAError;
CALLTYPE------#define CALLTYPE __stdcall(3)不知道#define和typedef有什么区别啊?以上三点向各位请教!

解决方案 »

  1.   

    在类型上面按右键
    然后goto definition就可以了看到原始类型了
    #define
    和typedef在这里我觉得差不多吧
      

  2.   

    #define       只是簡單的替換typedef       相對于#define能夠進行類型檢查
      

  3.   

    3。#define是定义常量。而typedef是定义一个自定义类型。
    比如#define iii  1000
    typedef int IITT;
    下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  4.   

    3。#define是定义常量。而typedef是定义一个自定义类型。
    比如#define iii  1000
    typedef int IITT;
    下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  5.   

    #define是定义常量。而typedef是定义一个自定义类型。
    比如#define iii  1000
    typedef int IITT;
    下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  6.   

    #define是定义常量。而typedef是定义一个自定义类型。
    比如#define iii  1000typedef int IITT;
    下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  7.   

    #define是定义常量。而typedef是定义一个自定义类型。
    比如#define iii  1000typedef int IITT;
    下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  8.   

    #define是定义常量。
    比如#define iii  1000typedef是定义一个自定义类型。
    typedef int IITT;下面我们就可以用IITT来定义类型了。而不能用iii啊。
      

  9.   

    define是定义常量。
    比如#define A_A  1000typedef是定义一个自定义类型。
    typedef int IITT;下面我们就可以用IITT来定义类型了。而不能用A_A啊。
      

  10.   

    define是定义常量
    typedef是定义一个自定义类型。
      

  11.   

    define是定义常量,typedef是定义一个自定义类型。
      

  12.   

    #define 并不是定义什么,而只是简单的文本级的替换,在编译前进行(预编译阶段)所以
    你可以
    #define III int;
    然后
    III i;
    而 typedef是语法级的,在编译时进行。
      

  13.   

    #define 是在编译之前替代它,而typedef是起个别名字而已,好记。
    就象有个人叫狗胜,觉得不好听,就又起了个永生
    #define 时遇到永生就换成狗胜
    typedef 时遇到永生就知道它是狗胜但不用换成狗胜这两个字罢了
    哈哈
      

  14.   

    #define 是定义一个宏,属于预编译处理
    typedef 是定义一个数据类型使用TYPEDEF便于程序移植,
    比如说 你可以定义一个 typedef int INTEGER,这样在程序里INTEGER就代表了int类型,当你的程序要移植时(比如放在64位或者16位的机子上运行时)那可能你的int类型都要改为long型,这时你就把原来定义的那句改为typedef long INTEGER就可以了,这样就大大增加了程序的可维护性,所以说对于大型程序typedef还是很有用的,而宏定义却很危险。
      

  15.   

    BNACTLAPI------  #define BNACTLAPI extern "C" __declspec(dllimport)
    TBNAError------typedef int  TBNAError;
    CALLTYPE------#define CALLTYPE __stdcall
    以上这些你都可以不看它的名字,而看它倒底会被替换成什么,因为所有的这些符号都只不是为了方便忘记或为了形成一致的名命形式而忆。
    extern "C" __declspec(dllimport)
    表明这是一个标准C函数,在Dll里用于向外输出,这样申明可以自动生成程序使用的.def文件具体可以分别以[extern "C"]、[__declspec(dllimport)]为关键字查看MSDN;
    typedef int  TBNAError;
    表明可以像使用[int]一样的使用[TBNAError];
    __stdcall 表明这是一个标准的WIN32的API格式的函数,它是表明一种参数的调用方式等范畴的申明,这也就是我们常用的WINAPI的定义.具体可以[__stdcall]为关键字查MSDN。
      

  16.   

    (1)在VC里面有很多函数返回值说明,经常是大写:
    比如AFXAPI等等,不知道什么意思,在MSDN里面找也找不到关于这点你可以直接将其选中,点右键 go to define xxx,
    去查看它的定义,一般都是一些宏,到最后都是一些格式申明,都可以通过MSDN查到详细的信息。