windows programming
文章平均质量分 81
cd2108006026
WHAT
展开
-
函数调用约定
在C程序中,带参数的函数调用有几种方式;这里主要介绍三种:stdcall, cdecl, fastcall; stdcall是WINDOWS API的默认方式;这种方式,参数由被调用者清除,因此产生的代码体略微小一点点(不明显,毕竟就那么几条汇编指令)。但该方式不能应付变长参数的函数,比如printf;因为printf本身不知道传进来多少个参数,参数大小,只能运行时解析获得;而对于v原创 2012-01-10 19:00:47 · 533 阅读 · 0 评论 -
协程
我们经常遇到这样一种情况:服务器A收到客户端的请求:删除该用户的某文件;A需要向文件服务器转发请求,因此首先要把请求保存起来;在未来的某个时刻,文件服务器发来了响应;A再根据响应查找到保存的请求,处理,然后向客户端回复结果:删成功了,或是文件不存在,或是你没有权限等等。是不是有点复杂?(这里没考虑文件服务器超时,自己加timer去,不是这里的重点)。原创 2012-05-20 17:03:22 · 1006 阅读 · 0 评论 -
IOCP相关的一些总结
1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/IP将数据从程序缓冲区中拷贝到TCP/IP层缓冲区中,然后不锁定该程序缓冲区,由上层程序自己处理。TCP/IP层缓冲区在网络合原创 2010-06-17 14:56:00 · 2343 阅读 · 0 评论