C/C++ÓïÑÔstructÉî²ã̽Ë÷
1. structµÄ¾Þ´ó×÷ÓÃ
¡¡¡¡Ãæ¶ÔÒ»¸öÈ˵ĴóÐÍC/C++³ÌÐòʱ£¬Ö»¿´Æä¶ÔstructµÄʹÓÃÇé¿öÎÒÃǾͿÉÒÔ¶ÔÆä±àдÕßµÄ
±à³Ì¾Ñé½øÐÐÆÀ¹À¡£ÒòΪһ¸ö´óÐ͵ÄC/C++³ÌÐò£¬ÊƱØÒªÉ漰һЩ(ÉõÖÁ´óÁ¿)½øÐÐÊý¾Ý×éºÏ
µÄ½á¹¹Ì壬ÕâЩ½á¹¹Ìå¿ÉÒÔ½«Ô±¾ÒâÒåÊôÓÚÒ»¸öÕûÌåµÄÊý¾Ý×éºÏÔÚÒ»Æð¡£´ÓijÖ̶ֳÈÉÏÀ´
˵£¬»á²»»áÓÃstruct£¬ÔõÑùÓÃstructÊÇÇø±ðÒ»¸ö¿ª·¢ÈËÔ±ÊÇ·ñ¾ß±¸·á¸»¿ª·¢¾ÀúµÄ±êÖ¾¡£
¡¡¡¡ÔÚÍøÂçÐÒ顢ͨÐÅ¿ØÖÆ¡¢Ç¶ÈëʽϵͳµÄC/C++±à³ÌÖУ¬ÎÒÃǾ³£Òª´«Ë͵IJ»ÊǼòµ¥µÄ×Ö
½ÚÁ÷£¨charÐÍÊý×飩£¬¶øÊǶàÖÖÊý¾Ý×éºÏÆðÀ´µÄÒ»¸öÕûÌ壬Æä±íÏÖÐÎʽÊÇÒ»¸ö½á¹¹Ìå¡£
¡¡¡¡¾Ñé²»×ãµÄ¿ª·¢ÈËÔ±ÍùÍù½«ËùÓÐÐèÒª´«Ë͵ÄÄÚÈÝÒÀ˳Ðò±£´æÔÚcharÐÍÊý×éÖУ¬Í¨¹ýÖ¸
ÕëÆ«ÒÆµÄ·½·¨´«ËÍÍøÂ籨ÎĵÈÐÅÏ¢¡£ÕâÑù×ö±à³Ì¸´ÔÓ£¬Ò׳ö´í£¬¶øÇÒÒ»µ©¿ØÖÆ·½Ê½¼°Í¨ÐÅ
ÐÒéÓÐËù±ä»¯£¬³ÌÐò¾ÍÒª½øÐзdz£Ï¸ÖµÄÐ޸ġ£
¡¡¡¡Ò»¸öÓоÑéµÄ¿ª·¢ÕßÔòÁé»îÔËÓýṹÌ壬¾ÙÒ»¸öÀý×Ó£¬¼ÙÉèÍøÂç»ò¿ØÖÆÐÒéÖÐÐèÒª´«
ËÍÈýÖÖ±¨ÎÄ£¬Æä¸ñʽ·Ö±ðΪpacketA¡¢packetB¡¢packetC£º
struct structA
{
int a;
char b;
};
struct structB
{
char a;
short b;
};
struct structC
{
int a;
char b;
float c;
}
¡¡¡¡ÓÅÐãµÄ³ÌÐòÉè¼ÆÕßÕâÑùÉè¼Æ´«Ë͵ı¨ÎÄ£º
struct CommuPacket
{
int iPacketType;¡¡¡¡//±¨ÎÄÀàÐͱêÖ¾
union¡¡¡¡¡¡¡¡¡¡¡¡//ÿ´Î´«Ë͵ÄÊÇÈýÖÖ±¨ÎÄÖеÄÒ»ÖÖ£¬Ê¹ÓÃunion
{
struct structA packetA;
struct structB packetB;
struct structC packetC;
}
};
¡¡¡¡ÔÚ½øÐб¨ÎÄ´«ËÍʱ£¬Ö±½Ó´«ËÍstruct CommuPacketÒ»¸öÕûÌå¡£
¡¡¡¡¼ÙÉè·¢Ëͺ¯ÊýµÄÔÐÎÈçÏ£º
// pSendData£º·¢ËÍ×Ö½ÚÁ÷µÄÊ×µØÖ·£¬iLen£ºÒª·¢Ë͵ij¤¶È
Send(char * pSendData, unsigned int iLen);
·¢ËÍ·½¿ÉÒÔÖ±½Ó½øÐÐÈçϵ÷Ó÷¢ËÍstruct CommuPacketµÄÒ»¸öʵÀýsendCommuPacket£º
Send( (char *)&sendCommuPacket , sizeof(CommuPacket) );
¼ÙÉè½ÓÊÕº¯ÊýµÄÔÐÎÈçÏ£º
// pRecvData£º·¢ËÍ×Ö½ÚÁ÷µÄÊ×µØÖ·£¬iLen£ºÒª½ÓÊյij¤¶È
//·µ»ØÖµ£ºÊµ¼Ê½ÓÊÕµ½µÄ×Ö½ÚÊý
unsigned int Recv(char * pRecvData, unsigned int iLen)£»
¡¡¡¡½ÓÊÕ·½¿ÉÒÔÖ±½Ó½øÐÐÈçϵ÷Óý«½ÓÊÕµ½µÄÊý¾Ý±£´æÔÚstruct CommuPacketµÄÒ»¸öʵÀý
recvCommuPacketÖУº
Recv( (char *)&recvCommuPacket , sizeof(CommuPacket) );
¡¡¡¡½Ó×ÅÅжϱ¨ÎÄÀàÐͽøÐÐÏàÓ¦´¦Àí£º
switch(recvCommuPacket. iPacketType)
{
&nbs
Ïà¹ØÎĵµ£º
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿... 1
µÚÒ»²½¡¢°Ñfor±ä³Éwhile. 2
µÚ¶þ²½£¬°ÑÑ»µ±ä³ÉµÝ¹é... 2
µÚÈý²½£¬ÅªÂÒ´úÂë½á¹¹/ʹÓÃûÓк¬ÒåµÄ±äÁ¿Ãû... 3
µÚËIJ½£¬È¡ÏûÁÙʱ±äÁ¿... 3
µÚÎå²½£¬¼ÌÐøÅªÂÒ±äÁ¿Ãû... 4
µÚÁù²½£¬ÒƳý³£Á¿... 4
´ÓÌìÌÃ×ßÏòµØÓüµÄÁù²¿
¿ªÊ¼³ÌÐò
ÏÂÃæÊÇÒ»¸öÕÒ³öËØÊýµÄ³ÌÐò£º
²é¿´Ô´´úÂë´òÓ¡ ......
1.×Ô¶¨ÒåÊä³ö
Ïë±Ø´ó¼Ò¶¼ÓÐÀûÓÃÊä³öº¯ÊýÈçprintfÀ´°ïÖúÎÒÃǵ÷ÊÔ³ÌÐòµÄ¾Àú£¬ÕâÊÇÒ»ÖֱȽÏÔʼµÄ³ÌÐòµ÷ÊÔ¸¨Öú·½·¨£¬ÔÚLinuxÏÂÒ²¿ÉÒÔΪÎÒÃÇËùÓᣲ»¹ýÕâÖÖ·½·¨ÓÐÒ»¸öÃ÷ÏÔµÄȱµã£¬¾ÍÊÇÔÚµ÷ÊÔÍêºóÎÒÃDZØÐë×¢ÊÍ»òɾ³ýµôÕâЩ¸¨Öú´úÂë¡£Linux CÌṩÁË-DDEBUGÕâ¸ö±àÒë±ê¼ÇÀ´¶¨ÒåDEBUGÕâ¸ö·ûºÅ£¬½èÖúÓڸ÷ûºÅ£¬ÎÒÃÇ¿ÉÒÔÔÚÓ¦Ó ......
This is Edition 2.2.10 of `The `indent' Manual', for Indent Version
2.2.10, last updated 23 July 2008.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996 Free Software
Foundation, Inc. Copyright (C) 1995, 1996 Joseph Arceneaux. Copyright
(C) 1999 Carlo Wood. Copyright (C) 2001 David Ingamell ......
CSocketÅÉÉúÓÚCAsyncSocket, ËùÓÐÊ©ÖîÓÚÉϵIJÙ×÷½ÔΪͬ²½²Ù×÷¡£±ÈÈçConnnect,ReceiveµÈ¡£
ͬ²½²Ù×÷µÄÓŵãÊǼòµ¥Ò×Ó㬵«È±µãÒ²ÏÔ¶øÒ×¼û£¬Ð§ÂʵÍÏ£¬ÒòΪÄã±ØÐëµÈµ½Ò»¸ö²Ù×÷Íê³ÉÖ®ºó²ÅÄܽøÐÐÏÂÒ»¸ö²Ù×÷¡£
Èç¹ûÄãºÜ¹ØÐÄЧÂÊ£¬¾ÍÓ¦¸ÃÓÅÏÈʹÓÃCAsyncSocket¡£·´Ö®¾ÍÓÃCSocket¡£
ÏÂÃæ½«ËµÃ÷ÈçºÎÓÃCSocket´´½¨¼òµ¥µÄ·þÎñÆ÷ºÍ¿Í» ......
ÔÚ´ò°üoralce¿Í»§¶Ëºó£¬¾³£»áÓöµ½Õâ¸öÎÊÌâ“specified class not registered in registry”
½â¾ö°ì·¨£º
ÕâÊÇÒòΪÓм¸¸öÁ´½Ó¿âdll»òocxûע²áµÄÔÒò£¬¾±¾È˲âÊÔΪÒÔÏÂ5¸öÎļþ£º
......