对于stdcall的函数,在传递一个word型的参数时,这个参数在堆栈中保存时占2个字节还是4个字节?
对于一个函数procedure sum(A:Integer;B:Word);
我就是想知道这个压入堆栈的B占了几个字节?如果它实际上占4个字节
那我想可以这样等效
push B
push A
如果它实际上只占2个字节,该如何PUSH呢?

解决方案 »

  1.   

    在C++里面word是unsigned short
    个人觉得应该是两个字节
      

  2.   

    A参数用Sizeof得到的是2个字节,但是你还传递了4字节的Integer的参数A,不懂,up
      

  3.   

    編譯器可能進行優化得...雖然你是word兩個字節 但很有可能占用4byte...當然 它只使用裡面的低2byte...我待會去看看代碼。。
      

  4.   

    怎么push?我倒~ 还是这么push呗。这push跟你参数类型有乜关系?