ÉîÈëÀí½âC/C++º¯ÊýÖ¸Õë
ת£ºhttp://school.ogdev.net/ArticleShow.asp?categoryid=10&id=6019
º¯ÊýÖ¸ÕëÊý×éµÄÃîÓÃ
±ÊÕßÔÚ¿ª·¢Ä³Èí¼þ¹ý³ÌÖÐÓöµ½ÕâÑùÒ»¸öÎÊÌ⣬ǰ¼¶Ä£¿é´«¸øÎÒ¶þ½øÖÆÊý¾Ý£¬ÊäÈë²ÎÊýΪ char* bufferºÍ int length£¬bufferÊÇÊý¾ÝµÄÊ×µØÖ·£¬length±íʾÕâÅúÊý¾ÝµÄ³¤¶È¡£Êý¾ÝµÄÌØµãÊÇ£º³¤¶È²»¶¨£¬ÀàÐͲ»¶¨£¬ÓɵÚÒ»¸ö×Ö½Ú£¨buffer[0]£©±êʶ¸ÃÊý¾ÝµÄÀàÐÍ£¬¹²ÓÐ256£¨28 £©ÖÖ¿ÉÄÜÐÔ¡£ÎÒµÄÈÎÎñÊDZØÐë¶ÔÿһÖÖ¿ÉÄܳöÏÖµÄÊý¾ÝÀàÐͶ¼Òª×÷´¦Àí£¬²¢ÇÒÎÒµÄÄ£¿é°üº¬Èô¸É¸öº¯Êý£¬ÔÚÿ¸öº¯ÊýÀïÃæ¶¼Òª×÷ÀàËÆµÄ´¦Àí¡£Èô°´Í¨³£×ö·¨£¬»áд³öÈçÏ´úÂ룺
void MyFuntion( char* buffer, int length )
{
¡¡¡¡¡¡¡¡__int8 nStreamType = buffer[0];
¡¡¡¡¡¡¡¡switch( nStreamType )
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡case 0:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡function1();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡case 1:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡......
¡¡¡¡¡¡¡¡¡¡¡¡¡¡case 255:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡function255();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡¡¡}
}
Èç¹û°´ÕÕÕâÖÖ·½·¨Ð´ÏÂÈ¥£¬ÄÇôÔÚÎÒµÄÿһ¸öº¯ÊýÀïÃæ£¬¶¼±ØÐë×÷Èç´Ë¶àµÄÅжϣ¬Ð´³öµÄ´úÂë¿Ï¶¨ºÜ³¤£¬²¢ÇÒÿһ´Î´¦Àí£¬¶¼Òª×÷Ðí¶à´ÎÅжÏÖ®ºó²ÅÕÒµ½ÕýÈ·µÄ´¦Àíº¯Êý£¬´úÂëµÄÖ´ÐÐЧÂÊÒ²²»¸ß¡£Õë¶ÔÉÏÊöÎÊÌ⣬ÎÒÏëµ½ÁËÓú¯ÊýÖ¸ÕëÊý×éµÄ·½·¨½â¾öÕâ¸öÎÊÌâ¡£
¡¡¡¡º¯ÊýÖ¸ÕëµÄ¸ÅÄÔÚ̶ºÆÇ¿ÏÈÉúµÄCÓïÑÔ³ÌÐòÉè¼ÆÕâ±¾¾µäµÄ½Ì³ÌÖÐÌá¼°¹ý£¬ÔÚ´ó¶àÊýÇé¿öÏÂÎÒÃÇʹÓò»µ½£¬Ò²ºöÂÔÁËËüµÄ´æÔÚ¡£º¯ÊýÃûʵ¼ÊÉÏÒ²ÊÇÒ»ÖÖÖ¸Õ룬ָÏòº¯ÊýµÄÈë¿ÚµØÖ·£¬µ«ËüÓÖ²»Í¬ÓÚÆÕͨµÄÈçint*¡¢double*Ö¸Õ룬¿´ÏÂÃæµÄÀý×ÓÀ´Àí½âº¯ÊýÖ¸ÕëµÄ¸ÅÄ
int funtion( int x, int y );
void main ( void )
{
¡¡¡¡¡¡int (*fun) ( int x, int y );
¡¡¡¡¡¡int a = 10, b = 20;
¡¡¡¡¡¡function( a, b );
¡¡¡¡¡¡fun = function;
¡¡¡¡¡¡£¨*fun£©( a, b );
¡¡¡¡¡¡¡¡……
}
¡¡¡¡Óï¾ä1¶¨ÒåÁËÒ»¸öº¯Êýfunction£¬ÆäÊäÈëΪÁ½¸öÕûÐÍÊý£¬·µ»ØÒ²ÎªÒ»¸öÕûÐÍÊý£¨ÊäÈë²ÎÊýºÍ·µ»ØÖµ¿ÉΪÆäËüÈκÎÊý¾ÝÀàÐÍ£©£»Óï¾ä3¶¨ÒåÁËÒ»¸öº¯ÊýÖ¸Õ룬Óëint*»òdouble*¶¨ÒåÖ¸Õ벻ͬµÄÊÇ£¬º¯ÊýÖ¸ÕëµÄ¶¨Ò屨Ðëͬʱָ³öÊäÈë²ÎÊý£¬±íÃ÷ÕâÊÇÒ»¸öº¯ÊýÖ¸Õ룬²¢ÇÒ*funÒ²±ØÐëÓÃÒ»¶ÔÀ¨ºÅÀ¨ÆðÀ´£»Óï¾ä6½«º¯ÊýÖ¸Õ븳ֵΪfuntion£¬Ç°ÌáÌõ¼þÊÇ*funºÍfunctionµÄÊäÈë²ÎÊýºÍ·µ»ØÖµ±ØÐë±£³ÖÒ»Ö¡£Óï¾ä5Ö±½Óµ÷Óú¯Êýfunction£¨£©£¬Óï¾ä7Êǵ÷Óú¯ÊýÖ¸Õ룬¶þÕßµÈЧ¡£
¡¡¡¡µ±È»´ÓÉÏÊöÀý×Ó¿´²»³öº¯ÊýÖ¸ÕëµÄÓŵ㣬Ä
Ïà¹ØÎĵµ£º
.APS£º´æ·Å¶þ½øÖÆ×ÊÔ´µÄÖмäÎļþ£¬VC°Ñµ±Ç°×ÊÔ´Îļþת»»³É¶þ½øÖƸñʽ£¬²¢´æ·ÅÔÚAPSÎļþÖУ¬ÒÔ¼Ó¿ì×ÊÔ´×°ÔØËÙ¶È¡£×ÊÔ´¸¨ÖúÎļþ¡£
.BMP£ºÎ»Í¼×ÊÔ´Îļþ¡£
.BSC£ºä¯ÀÀÐÅÏ¢Îļþ£¬ÓÉä¯ÀÀÐÅϢά»¤¹¤¾ß£¨BSCMAKE£©´ÓÔʼä¯ÀÀÐÅÏ¢Îļþ£¨.SBR£©ÖÐÉú³É£¬BSCÎļþ¿ÉÒÔÓÃÀ´ÔÚÔ´´úÂë±à¼´°¿ÚÖнøÐпìËÙ¶¨Î»¡£ÓÃÓÚä¯ÀÀÏîÄ¿ÐÅÏ¢µÄ£¬Èç¹ûÓ ......
const ÊÇÔÚ³ÌÐòÖзdz£ÖØÒª¡£ÔÚÕâÀïÎÒ×öһϼòµ¥µÄ½éÉÜ¡£
1.const »ù´¡
constÓÐÁ½ÖÖÐÎʽ:
a) const Type var;
È磺int a =10;const int * var=&a; ÄÇôvar¾ÍÊdz£Á¿Ö¸Õ룬±íÃ÷ÊÇÖ¸Ïò³£Á¿µÄÖ¸Õ룬Ҳ¾ÍÊÇ˵aµÄÖµ²»Äܸı䡣
......
c º¯ÊýÖ¸Õë
ÒÔǰʲôº¯ÊýÖ¸Õë,Ö¸Õ뺯Êý½ö½öÊǸÅÄîÉϵÄÀí½â,×î½üд¸ö³ÌÐòÓÐÕâô¸öÐèÇó,ÆäʵҲ²»ÊÇÓÐÕâô¸öÐèÇó,¶øÊÇÕâÑùд¿ÉÒÔʡȥºÜ¶àÊÂ....searchÁËÏÂ,ÕÒµ½Ò»ÆªºÃÎÄ
º¯ÊýÖ¸ÕëÊÇʲô£¿
ÏÈÀ´¿´º¯Êýµ÷ÓÃÊÇÔõô»ØÊ¡£Ò»¸öº¯ÊýÕ¼ÓÃÒ»¶ÎÁ¬ÐøÄÚ´æ¡£µ±µ÷ÓÃÒ»¸öº¯Êýʱ£¬Êµ¼ÊÉÏÊÇÌø×ªµ½º¯ÊýÈë¿ÚµØÖ·£¬Ö´ ......
1.int *p1 = *(int **)p2;
Õâ¸ö±í´ïʽ½«p2Ö¸ÏòµÄÖµµ±×öÖ¸ÕëÀàÐ͸³Öµ¸øp1
£¬½«ÆÕֵͨµ±×öÖ¸ÕëֵʹÓÃ
2.*£¨int **£©p1 = p2£»
Õâ¸ö±í´ïʽ½«p1Ö¸ÏòµÄÖµÐÞ¸ÄΪµÄp2±£´æµÄÖ¸Õë
µÄÖµ£¬½«Ö¸Õëµ±×öÆÕֵͨʹÓÃ
ÕâÊǽñÌì¿´us/OSµÄÄÚ´æ¹ÜÀíµÄʱºò¿´µ½µÄ£¬ÕæÊÇÌ«¾«±ÙÁË
°¦£¬¿´À´×Ô¼ºµÄ¼ûʶ»¹ÊÇÌ«ÉÙÁË£¬ÒÔºóµÃ¼Ó±¶Å ......
Ò»¡¢C++·þÎñÆ÷¶Ë
£¨ÓõÄÊÇVisual Studio 2008£¨05£¬03µÄÓ¦¸ÃÒ²¿ÉÒÔ£¬VC++µÄ¿ÉÄÜÐèÒªÉÔ΢¸Ä¶¯£©£©
´úÂëÈçÏ£º
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")
void main(){ ......