我看书上说VC/MFC的缺省采用的是__cdecl调用,而windows采用的是pascal调用,那为什麽VC中即可以
调用__cdecl的Dll函数,又可以调用pascal的Dll函数,这两种调用不是不可以混用吗?

解决方案 »

  1.   

    不是这样的,现在的windows API使用的是 stdcall 调用规则至于是否混用,那也没有关系,只要函数申明与函数定义的调用规则一致就可以
      

  2.   

    VC中因为函数前有 __cdecl 和 pascal 的函数声明
    编译器在编译过程中对参数传递作了处理
    _cdecl 和 _stdcall 的区别在于参数的压栈方式
      

  3.   

    函数申明和调用约定一致就可以了
    __cdecl和__stdcall的函数名修饰和参数压栈方式不同