怎么回事呢。
        WSADATA wsa; 
        int ret = WSAStartup(MAKEWORD(2,2),&wsa); 
怎么会没有准备好,奇怪的问。

解决方案 »

  1.   

    PS:两个程序我都是用loadlibrary(WSOCK32.dll),
    再GetProcAddress(WSAStartup)后这样动态调用的。
    可能出现什么问题吗?一个正常,另一个打死都是返回10091。shift啊
      

  2.   

    找到原因了。shift
    原来我是前边嵌入了asm,把DF设置为递减,而调用WSAStartup时的参数又是用
    lea esi,....入栈的,所以老是失败。
    DF应该设置为递增即可。呵呵,都是汇编惹的祸。
      

  3.   

    也可以:
    WSADATA wsa; 
            int ret = WSAStartup(MAKEWORD(2,0),&wsa); 
      

  4.   

    也可以:
    WSADATA wsa; 
            int ret = WSAStartup(MAKEWORD(1,1),&wsa); 呵呵,也可以给自己分就好了。