解释一下这段代码

一点点凋落 2004-10-25 10:30:25
CString ChatInfo;
BOOL ChatEnable;
CString ListInfo;
DWORD WINAPI Sendthread(LPVOID lpparam)
{
SOCKET m_socket=(SOCKET)lpparam;
int ret;
while(1)
{
if (ChatInfo.GetLength()>0)
{
ret=send(m_socket,ChatInfo,ChatInfo.GetLength(),0);
if(ret==SOCKET_ERROR)
{
ListInfo=_T("服务器:Data send error!");
return -1;
}
ListInfo=_T("服务器:");
ListInfo+=ChatInfo;
ChatInfo.Empty();
}
}
}



1.返回类型WINAPI是什么类型
2.LPVOID是什么类型,怎么能够强制转换为SOCKET
3._T(String)是什么函数
...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
powerbamboo 2004-10-25
  • 打赏
  • 举报
回复
WINAPI: (1)望文生义,(2)在VC的代码编辑器窗口,选中,右键单击,选择查看定义;
LPVOID:32未void指针,当然能转化成任意类型
_T: 兼容ASCII字符和UNICODE字符
cnhgj 2004-10-25
  • 打赏
  • 举报
回复
同意 findcaiyzh(秋心)
vbcool 2004-10-25
  • 打赏
  • 举报
回复
真高兴现在的高手越来越多了,以后也请大家也关注我的帖子,给我也多指点指点,谢了
vbcool 2004-10-25
  • 打赏
  • 举报
回复
对秋心的再细细补充说明一下:
而PASCAL是:是函数压栈的一个说明,有两种压栈方式,一个为C的参数从右向左压,一个是PASCAL从左向右压
LPVIOD,是VC特有的,LP为指针,VIOD是无类型,无类型指针可指向任何类型
danyueer 2004-10-25
  • 打赏
  • 举报
回复
1 WINAPI是长跳转调用约定,主要应用于回调函数的声明,这里是线程回调函数;

2 LPVOID就是void *,指向任意对象的32位指针;

3 _T()宏,用于格式化字符串,使该串能够在Unicode个字节流的不同环境下兼容。
kugou123 2004-10-25
  • 打赏
  • 举报
回复
UP
DentistryDoctor 2004-10-25
  • 打赏
  • 举报
回复
同意秋心。
宝_爸 2004-10-25
  • 打赏
  • 举报
回复
1.#define WINAPI FAR PASCAL
而PASCAL是: #define PASCAL __stdcall
一种调用约定。
2。LPVIOD:typedef DWORD LPVOID;
你可以把它看作void* 因为在win32中指针的长度是32位的。
3。_T是:#define _T(x) __T(x)
__T(x):#define __T(x) L ## x
长字符串,也就是unicode编码的字符串
  • 打赏
  • 举报
回复
1.返回类型WINAPI是什么类型
便于导出导入

2,LPVOID空类型的指针,指针可以随便转

3,转化成宽字符
快乐鹦鹉 2004-10-25
  • 打赏
  • 举报
回复
WINAPI Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entry points, you can use this for your own APIs.
LPVOID Generic pointer type, equivalent to (void *). Should be used instead of LPSTR.
_T()支持unicode的字符串
Elsie 2004-10-25
  • 打赏
  • 举报
回复
WINAPI
Use in place of FAR PASCAL in API declarations. If you are writing a DLL with exported API entry points, you can use this for your own APIs.

LPVOID
Generic pointer type, equivalent to (void *). Should be used instead of LPSTR.

_T or _TEXT
_UNICODE Defined: L (converts following character or string to its Unicode counterpart)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧