例如我有一个COM组件是32位的,安装以后,可否用一个64位的应用程序来调用它?我知道32/64的堆栈处理过程是不太一样的,64位程序会用4个寄存器来存储函数的参数,如果函数参数少于4个,那么就都是寄存器来传递,而不是像32位那样都在内存里push/pop了。因此生成的代码,在函数开始/结束的地方,对于堆栈的处理也就不一样。这样的话,64位程序能调用32位的COM组件吗? 如果组件的某个函数声明是stdcall,它的参数是通过内存压栈传递的,而64位程序却把函数参数放到了寄存器里面,这样的话,参数传递这层就失败了,程序会不会崩溃啊?反过来,32位程序能调用64位com组件吗?
非常疑惑于这个问题,还请高手指点一下,谢谢。