//#include "stdafx.h"
/*
ÃèÊö:´¿cÄ£ÄâÀà,´¿c±àдc++Àà,´¿cʵÏÖc++ÀàµÄ¼òµ¥·¶Àý,½á¹¹Ä£ÄâÀà,struct ±àдclass.
c±àдÀàÊÇʵÏÖ´¿c±àдcom×é¼þµÄ»ù´¡¡£
*/
#include <stdio.h>
typedef struct _Vtbl
{
void (*AddRef)(struct CObject* obj,int);//ËùÓеĺ¯ÊýµÄµÚÒ»¸ö²ÎÊýÀàËÆclassµÄÒþÄäµÄthisÖ¸Õë
void (*Release)(struct CObject* obj);
}Vtbl;//º¯ÊýÖ¸ÕëÊý×é
typedef struct CObject
{
Vtbl vtbl;//º¯ÊýÖ¸ÕëÊý×éÖ¸Ïò³ÉÔ±º¯Êý
int a;
int b;
}Cobj;//½á¹¹Ä£ÄâÀàµÄ¼òµ¥¶¨Òå
void fun1(Cobj *obj,int count)//³ÉÔ±º¯Êý
{
obj->a+=count;
printf("CObject::a=%d\n",obj->a);
}
void fun2(Cobj *obj)//³ÉÔ±º¯Êý
{
obj->a--;
printf("CObject::a=%d\n",obj->a);
}
static Vtbl vt={fun1,fun2};//ÉùÃ÷Ò»¸ö¾²Ì¬º¯ÊýÖ¸ÕëÊý×é
int main()
{
Cobj obj;//¶¨Òå¶ÔÏó
obj.vtbl=vt;
obj.a= 10 ......
//#include "stdafx.h"
/*
ÃèÊö:´¿cÄ£ÄâÀà,´¿c±àдc++Àà,´¿cʵÏÖc++ÀàµÄ¼òµ¥·¶Àý,½á¹¹Ä£ÄâÀà,struct ±àдclass.
c±àдÀàÊÇʵÏÖ´¿c±àдcom×é¼þµÄ»ù´¡¡£
*/
#include <stdio.h>
typedef struct _Vtbl
{
void (*AddRef)(struct CObject* obj,int);//ËùÓеĺ¯ÊýµÄµÚÒ»¸ö²ÎÊýÀàËÆclassµÄÒþÄäµÄthisÖ¸Õë
void (*Release)(struct CObject* obj);
}Vtbl;//º¯ÊýÖ¸ÕëÊý×é
typedef struct CObject
{
Vtbl vtbl;//º¯ÊýÖ¸ÕëÊý×éÖ¸Ïò³ÉÔ±º¯Êý
int a;
int b;
}Cobj;//½á¹¹Ä£ÄâÀàµÄ¼òµ¥¶¨Òå
void fun1(Cobj *obj,int count)//³ÉÔ±º¯Êý
{
obj->a+=count;
printf("CObject::a=%d\n",obj->a);
}
void fun2(Cobj *obj)//³ÉÔ±º¯Êý
{
obj->a--;
printf("CObject::a=%d\n",obj->a);
}
static Vtbl vt={fun1,fun2};//ÉùÃ÷Ò»¸ö¾²Ì¬º¯ÊýÖ¸ÕëÊý×é
int main()
{
Cobj obj;//¶¨Òå¶ÔÏó
obj.vtbl=vt;
obj.a= 10 ......
Í·ÎļþµÄ×÷ÓÃ
ÔçÆÚµÄ±à³ÌÓïÑÔÈçBasic¡¢Fortran ûÓÐÍ·ÎļþµÄ¸ÅÄC++/C ÓïÑԵijõѧÕßËäÈ»»áÓÃʹÓÃÍ·Îļþ£¬µ«³£³£²»Ã÷ÆäÀí¡£ÕâÀï¶ÔÍ·ÎļþµÄ×÷ÓÃÂÔ×÷½âÊÍ£º
£¨1£©Í¨¹ýÍ·ÎļþÀ´µ÷Óÿ⹦ÄÜ¡£ÔںܶೡºÏ£¬Ô´´úÂë²»±ã£¨»ò²»×¼£©ÏòÓû§¹«²¼£¬Ö»ÒªÏòÓû§ÌṩͷÎļþºÍ¶þ½øÖƵĿ⼴¿É¡£Óû§Ö»ÐèÒª°´ÕÕÍ·ÎļþÖеĽӿÚÉùÃ÷À´µ÷Óÿ⹦ÄÜ£¬¶ø²»±Ø¹ØÐĽӿÚÔõôʵÏֵġ£±àÒëÆ÷»á´Ó¿âÖÐÌáÈ¡ÏàÓ¦µÄ´úÂë¡£
£¨2£©Í·ÎļþÄܼÓÇ¿ÀàÐͰ²È«¼ì²é¡£Èç¹ûij¸ö½Ó¿Ú±»ÊµÏÖ»ò±»Ê¹ÓÃʱ£¬Æä·½Ê½ÓëÍ·ÎļþÖеÄÉùÃ÷²»Ò»Ö£¬±àÒëÆ÷¾Í»áÖ¸³ö´íÎó£¬ÕâÒ»¼òµ¥µÄ¹æÔòÄÜ´ó´ó¼õÇá³ÌÐòÔ±µ÷ÊÔ¡¢¸Ä´íµÄ¸ºµ£¡£
´ó¼Òд³ÌÐòÊǽ¨Á¢ÔÚ±àÒëÆ÷ϵͳΪÎÒÃÇÌṩµÄµ×²ã±ê×¼¿âº¯Êý»ù´¡ÉÏ£¬ÕâЩ¿âº¯ÊýµÄ½Ó¿Ú¾ÍÉùÃ÷ÔÚ±ê×¼¿âÍ·ÎļþÖС£ÈôÏë±àд¸ßЧµÄ³ÌÐò£¬ÎÒÃÇÒª¶Ô±àÒëÆ÷ϵͳÌṩµÄ±ê×¼¿âº¯ÊýÐÅÊÖÄéÀ´£¬Ê×ÏÈÒªÊìÖªËûÃǵÄÉùÃ÷ËùÔÚµÄÍ·Îļþ¡£
ÒÔÏÂÊǶÔC/C++³£ÓÃÍ·Îļþ½øÐмòµ¥ÊáÀí£º
±ê×¼C¿ØÖÆÌ¨ÊäÈëÊä³öÁ÷º¯ÊýÍ·Îļþ<cstdio>-----<stdio.h>
using ::size_t; using ::fpos_t; using ::FILE;
using ::clearerr; using ::fclose; using ::feof;
using ::ferror; using ::fflush; using ::fgetc;
using ::fgetpos; ......
Í·ÎļþµÄ×÷ÓÃ
ÔçÆÚµÄ±à³ÌÓïÑÔÈçBasic¡¢Fortran ûÓÐÍ·ÎļþµÄ¸ÅÄC++/C ÓïÑԵijõѧÕßËäÈ»»áÓÃʹÓÃÍ·Îļþ£¬µ«³£³£²»Ã÷ÆäÀí¡£ÕâÀï¶ÔÍ·ÎļþµÄ×÷ÓÃÂÔ×÷½âÊÍ£º
£¨1£©Í¨¹ýÍ·ÎļþÀ´µ÷Óÿ⹦ÄÜ¡£ÔںܶೡºÏ£¬Ô´´úÂë²»±ã£¨»ò²»×¼£©ÏòÓû§¹«²¼£¬Ö»ÒªÏòÓû§ÌṩͷÎļþºÍ¶þ½øÖƵĿ⼴¿É¡£Óû§Ö»ÐèÒª°´ÕÕÍ·ÎļþÖеĽӿÚÉùÃ÷À´µ÷Óÿ⹦ÄÜ£¬¶ø²»±Ø¹ØÐĽӿÚÔõôʵÏֵġ£±àÒëÆ÷»á´Ó¿âÖÐÌáÈ¡ÏàÓ¦µÄ´úÂë¡£
£¨2£©Í·ÎļþÄܼÓÇ¿ÀàÐͰ²È«¼ì²é¡£Èç¹ûij¸ö½Ó¿Ú±»ÊµÏÖ»ò±»Ê¹ÓÃʱ£¬Æä·½Ê½ÓëÍ·ÎļþÖеÄÉùÃ÷²»Ò»Ö£¬±àÒëÆ÷¾Í»áÖ¸³ö´íÎó£¬ÕâÒ»¼òµ¥µÄ¹æÔòÄÜ´ó´ó¼õÇá³ÌÐòÔ±µ÷ÊÔ¡¢¸Ä´íµÄ¸ºµ£¡£
´ó¼Òд³ÌÐòÊǽ¨Á¢ÔÚ±àÒëÆ÷ϵͳΪÎÒÃÇÌṩµÄµ×²ã±ê×¼¿âº¯Êý»ù´¡ÉÏ£¬ÕâЩ¿âº¯ÊýµÄ½Ó¿Ú¾ÍÉùÃ÷ÔÚ±ê×¼¿âÍ·ÎļþÖС£ÈôÏë±àд¸ßЧµÄ³ÌÐò£¬ÎÒÃÇÒª¶Ô±àÒëÆ÷ϵͳÌṩµÄ±ê×¼¿âº¯ÊýÐÅÊÖÄéÀ´£¬Ê×ÏÈÒªÊìÖªËûÃǵÄÉùÃ÷ËùÔÚµÄÍ·Îļþ¡£
ÒÔÏÂÊǶÔC/C++³£ÓÃÍ·Îļþ½øÐмòµ¥ÊáÀí£º
±ê×¼C¿ØÖÆÌ¨ÊäÈëÊä³öÁ÷º¯ÊýÍ·Îļþ<cstdio>-----<stdio.h>
using ::size_t; using ::fpos_t; using ::FILE;
using ::clearerr; using ::fclose; using ::feof;
using ::ferror; using ::fflush; using ::fgetc;
using ::fgetpos; ......
Ò»¡¢
1¡¢¹ØÓÚ×Ö½Ú˳Ðò£º»°ËµÔÚÌØ¶¨µÄÓ²¼þƽ̨ÉÏ£¬¶à×Ö½ÚÊý¾ÝµÄ˳Ðò´æ·ÅÓÐÁ½ÖÖ·½Ê½£¨little-endian¡¢big-endian£©¡£Ç°ÕßµÄÊý¾ÝµÄµÍ×Ö½Ú
²¿·Ö´æ·ÅÔڵ͵ØÖ·Äڴ棬ºóÕßÇ¡ºÃÏà·´¡£PCÒ»°ãÊÇ»ùÓÚIA-32΢´¦ÀíÆ÷£¬ÊôÓÚlittle-endian¡£Ä³Ð©RISC¼Ü¹¹µÄCPU£¬ÀýÈçSPARC¡¢
POWERPCµÈ£¬ÔòÊôÓÚbig-endian¡£
2¡¢µ÷Óú¯Êý¡¢Õ»£¬±äÁ¿µÄ¿É¼û·¶Î§ÓëÉúÃüÆÚ£ºÎÒÃÇÖªµÀÒ»¸ö³ÌÐòÓÉÊý¾ÝºÍ´úÂëÁ½´ó²¿·Ö¹¹³É£¬¶øÊý¾ÝÓм¸ÖÖÀà±ð£¬Ò»ÖÖÊÇ“¾²Ì¬”µÄ£¬Ò²¾Í
ÊÇ˵ÔÚÕû¸ö³ÌÐòÔËÐÐÆÚ¼ä£¬ËüÔÚÄÚ´æÖеĵØÖ·Êǹ̶¨µÄ£¬´úÂë¿ÉÒÔ¶ÔÆä·´¸´·ÃÎÊ¡£CÓïÑÔÖеÄÍⲿ±äÁ¿£¬ÄÚ²¿¾²Ì¬±äÁ¿¾ÍÊôÓÚ´ËÀ࣬´æ´¢
ÓÚÊý¾Ý¶Î£¨ÕâЩÊý¾ÝµÄµØÖ·ÔÚ³ÌÐò½øÐÐÁ´½ÓµÄʱºò¾ÍÄÜ׼ȷËã³ö£©¡£ÁíÒ»ÖÖÊÇ“¶¯Ì¬”µÄ£¬ËûÃÇÔÚÄÚ´æµÄµØÖ·²»Êǹ̶¨µÄ£¬¶ÔËûÃǵIJÙ×÷
¾ÍÊǶԓջ”½øÐвÙ×÷¡£
3¡¢±äÁ¿µÄÉùÃ÷ºÍ¶¨Ò壺 “ÉùÃ÷”Ö»ÊǸæËß±àÒëÆ÷ij¸ö±êʶ·ûÊÇ£º±äÁ¿£¨Ê²Ã´ÀàÐÍ£¿£©»¹ÊǺ¯Êý£¨²ÎÊýºÍ·µ»ØÖµÊÇʲô£¿£©¡£ÒªÊÇÔÚºóÃæµÄ
......
Ò»¡¢
1¡¢¹ØÓÚ×Ö½Ú˳Ðò£º»°ËµÔÚÌØ¶¨µÄÓ²¼þƽ̨ÉÏ£¬¶à×Ö½ÚÊý¾ÝµÄ˳Ðò´æ·ÅÓÐÁ½ÖÖ·½Ê½£¨little-endian¡¢big-endian£©¡£Ç°ÕßµÄÊý¾ÝµÄµÍ×Ö½Ú
²¿·Ö´æ·ÅÔڵ͵ØÖ·Äڴ棬ºóÕßÇ¡ºÃÏà·´¡£PCÒ»°ãÊÇ»ùÓÚIA-32΢´¦ÀíÆ÷£¬ÊôÓÚlittle-endian¡£Ä³Ð©RISC¼Ü¹¹µÄCPU£¬ÀýÈçSPARC¡¢
POWERPCµÈ£¬ÔòÊôÓÚbig-endian¡£
2¡¢µ÷Óú¯Êý¡¢Õ»£¬±äÁ¿µÄ¿É¼û·¶Î§ÓëÉúÃüÆÚ£ºÎÒÃÇÖªµÀÒ»¸ö³ÌÐòÓÉÊý¾ÝºÍ´úÂëÁ½´ó²¿·Ö¹¹³É£¬¶øÊý¾ÝÓм¸ÖÖÀà±ð£¬Ò»ÖÖÊÇ“¾²Ì¬”µÄ£¬Ò²¾Í
ÊÇ˵ÔÚÕû¸ö³ÌÐòÔËÐÐÆÚ¼ä£¬ËüÔÚÄÚ´æÖеĵØÖ·Êǹ̶¨µÄ£¬´úÂë¿ÉÒÔ¶ÔÆä·´¸´·ÃÎÊ¡£CÓïÑÔÖеÄÍⲿ±äÁ¿£¬ÄÚ²¿¾²Ì¬±äÁ¿¾ÍÊôÓÚ´ËÀ࣬´æ´¢
ÓÚÊý¾Ý¶Î£¨ÕâЩÊý¾ÝµÄµØÖ·ÔÚ³ÌÐò½øÐÐÁ´½ÓµÄʱºò¾ÍÄÜ׼ȷËã³ö£©¡£ÁíÒ»ÖÖÊÇ“¶¯Ì¬”µÄ£¬ËûÃÇÔÚÄÚ´æµÄµØÖ·²»Êǹ̶¨µÄ£¬¶ÔËûÃǵIJÙ×÷
¾ÍÊǶԓջ”½øÐвÙ×÷¡£
3¡¢±äÁ¿µÄÉùÃ÷ºÍ¶¨Ò壺 “ÉùÃ÷”Ö»ÊǸæËß±àÒëÆ÷ij¸ö±êʶ·ûÊÇ£º±äÁ¿£¨Ê²Ã´ÀàÐÍ£¿£©»¹ÊǺ¯Êý£¨²ÎÊýºÍ·µ»ØÖµÊÇʲô£¿£©¡£ÒªÊÇÔÚºóÃæµÄ
......
×óÖµÐÔ£¨lvalueness£©ÔÚC/C++ÖÐÊDZí´ïʽµÄÒ»¸öÖØÒªÊôÐÔ¡£Ö»ÓÐͨ¹ýÒ»¸ö×óÖµ±í´ïʽ²ÅÄÜÀ´ÒýÓü°¸ü¸ÄÒ»¸ö¶ÔÏó£¨object£©µÄÖµ¡££¨Ä³Ð©Çé¿öÏ£¬ÓÒÖµ±í´ïʽҲÄÜÒýÓã¨refer£©µ½Ä³Ò»¸ö¶ÔÏ󣬲¢ÇÒ¿ÉÄܼä½ÓÐ޸ĸöÔÏóµÄÖµ£¬ºóÊö£©¡£
ºÎν¶ÔÏó£¿Èç¹ûûÓÐÃ÷ȷ˵Ã÷£¬ÕâÀï˵µÄ¶ÔÏ󣬺ÍÏÁÒåµÄÀà/¶ÔÏó£¨class/object£©Ïà±È£¬¸üΪ¹ã·º¡£ÔÚC/C++ÖУ¬ËùνµÄ¶ÔÏóÖ¸µÄÊÇÖ´Ðл·¾³ÖÐÒ»¿é´æ´¢ÇøÓò£¨a region of storage£©£¬¸Ã´æ´¢ÇøÓòÖеÄÄÚÈÝÔò´ú±í£¨represent£©Á˸öÔÏóµÄÖµ£¨value£©¡£×¢Òâµ½ÎÒÃÇÕâÀïËù˵µÄ"´ú±í"£¬¶ÔÓÚÒ»¸ö¶ÔÏó£¬Èç¹ûÎÒÃÇÐèҪȡ³ö£¨fetch£©ËüµÄÖµ£¬ÄÇôÎÒÃÇÐèҪͨ¹ýÒ»¶¨µÄÀàÐÍ£¨type£©À´ÒýÓÃËü¡£Ê¹Óò»Í¬µÄÀàÐÍ£¬¶Ôͬһ¶ÔÏóÖеÄÄÚÈݵĽâÊͻᵼÖ¿ÉÄܵõ½²»Í¬µÄÖµ£¬»òÕß²úÉúijЩ䶨ÒåµÄÐÐΪ¡£
ÔÚ½éÉÜ×óֵ֮ǰ£¬ÎÒÃÇ»¹ÐèÒªÒýÈëÒ»¸ö¸ÅÄ ±äÁ¿£¨variable£©¡£¾³£ÓÐÈË»á°Ñ±äÁ¿Óë¶ÔÏó¶þÕß»ìÏý¡£Ê²Ã´½Ð±äÁ¿£¿Ëùν±äÁ¿ÊÇÒ»ÖÖÉùÃ÷£¬Í¨¹ýÉùÃ÷£¬ÎÒÃǰÑÒ»¸öÃû×Ö£¨name£©ÓëÒ»¸ö¶ÔÏó¶ÔÓ¦ÆðÀ´£¬µ±ÎÒÃÇʹÓøÃÃû×Öʱ£¬¾Í±íʾÁËÎÒÃǶԸöÔÏó½øÐÐijÖÖ²Ù×÷¡£µ«ÊDz¢²»ÊÇÿ¸ö¶ÔÏó¶¼ÓÐÃû×Ö£¬Ò²²¢²»Òâζ×ÅÓжÔÓ¦µÄ±äÁ¿¡£±ÈÈçÁÙʱ¶ÔÏó£¨temporary object£©¾ÍÃ»Ó ......
×óÖµÐÔ£¨lvalueness£©ÔÚC/C++ÖÐÊDZí´ïʽµÄÒ»¸öÖØÒªÊôÐÔ¡£Ö»ÓÐͨ¹ýÒ»¸ö×óÖµ±í´ïʽ²ÅÄÜÀ´ÒýÓü°¸ü¸ÄÒ»¸ö¶ÔÏó£¨object£©µÄÖµ¡££¨Ä³Ð©Çé¿öÏ£¬ÓÒÖµ±í´ïʽҲÄÜÒýÓã¨refer£©µ½Ä³Ò»¸ö¶ÔÏ󣬲¢ÇÒ¿ÉÄܼä½ÓÐ޸ĸöÔÏóµÄÖµ£¬ºóÊö£©¡£
ºÎν¶ÔÏó£¿Èç¹ûûÓÐÃ÷ȷ˵Ã÷£¬ÕâÀï˵µÄ¶ÔÏ󣬺ÍÏÁÒåµÄÀà/¶ÔÏó£¨class/object£©Ïà±È£¬¸üΪ¹ã·º¡£ÔÚC/C++ÖУ¬ËùνµÄ¶ÔÏóÖ¸µÄÊÇÖ´Ðл·¾³ÖÐÒ»¿é´æ´¢ÇøÓò£¨a region of storage£©£¬¸Ã´æ´¢ÇøÓòÖеÄÄÚÈÝÔò´ú±í£¨represent£©Á˸öÔÏóµÄÖµ£¨value£©¡£×¢Òâµ½ÎÒÃÇÕâÀïËù˵µÄ"´ú±í"£¬¶ÔÓÚÒ»¸ö¶ÔÏó£¬Èç¹ûÎÒÃÇÐèҪȡ³ö£¨fetch£©ËüµÄÖµ£¬ÄÇôÎÒÃÇÐèҪͨ¹ýÒ»¶¨µÄÀàÐÍ£¨type£©À´ÒýÓÃËü¡£Ê¹Óò»Í¬µÄÀàÐÍ£¬¶Ôͬһ¶ÔÏóÖеÄÄÚÈݵĽâÊͻᵼÖ¿ÉÄܵõ½²»Í¬µÄÖµ£¬»òÕß²úÉúijЩ䶨ÒåµÄÐÐΪ¡£
ÔÚ½éÉÜ×óֵ֮ǰ£¬ÎÒÃÇ»¹ÐèÒªÒýÈëÒ»¸ö¸ÅÄ ±äÁ¿£¨variable£©¡£¾³£ÓÐÈË»á°Ñ±äÁ¿Óë¶ÔÏó¶þÕß»ìÏý¡£Ê²Ã´½Ð±äÁ¿£¿Ëùν±äÁ¿ÊÇÒ»ÖÖÉùÃ÷£¬Í¨¹ýÉùÃ÷£¬ÎÒÃǰÑÒ»¸öÃû×Ö£¨name£©ÓëÒ»¸ö¶ÔÏó¶ÔÓ¦ÆðÀ´£¬µ±ÎÒÃÇʹÓøÃÃû×Öʱ£¬¾Í±íʾÁËÎÒÃǶԸöÔÏó½øÐÐijÖÖ²Ù×÷¡£µ«ÊDz¢²»ÊÇÿ¸ö¶ÔÏó¶¼ÓÐÃû×Ö£¬Ò²²¢²»Òâζ×ÅÓжÔÓ¦µÄ±äÁ¿¡£±ÈÈçÁÙʱ¶ÔÏó£¨temporary object£©¾ÍÃ»Ó ......
CºÍC++µÄ±ê×¼¿â
ĬÈÏ·ÖÀà 2008-02-28 14:28 ÔĶÁ3 ÆÀÂÛ0
×ֺţº ´ó´ó ÖÐÖРСС
http://blog.chinaunix.net/u/6776/showart_186792.html C/C++Éî²ã̽Ë÷
±¾Ð¡½ÚÎÒÃǸÅÀÀÒ»ÏÂC/C++±ê×¼¿âµÄȫò¡£
C/C++±ê×¼¿âµÄÄÚÈÝÖ÷Òª°üÀ¨£º
ºê¶¨Òå £¨Æ©È磺 #define FLT_RADIX 2£©
ÀàÐͶ¨Òå £¨Æ©È磺 typedef unsigned wchar _t£©
±äÁ¿ÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 extern int errno;£©
¿âº¯ÊýÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 size_t strlen(const char *s);£©
ÆäÖУ¬ºê¶¨Òå¡¢ÀàÐͶ¨Òå¡¢±äÁ¿ÉùÃ÷ºÍ¿âº¯ÊýµÄÉùÃ÷¶¼ÔÚ±ê׼ͷÎļþ½øÐÐÃèÊö£¬ËùÒÔ£¬±ê׼ͷÎļþʵ¼ÊÉÏÒѾ¹´»³öÕû¸ö±ê×¼¿âµÄÂÖÀª¡£
ÏÖÔÚÎÒÃÇÀ´¿´¿´CÓïÑԵıê׼ͷÎļþ¡£
C90ÓÐÕâЩ£º
assert.h ctype.h errno.h float.h
limits.h locale.h math.h setjmp.h
signal.h stdarg.h stddef.h stdio.h
......
CºÍC++µÄ±ê×¼¿â
ĬÈÏ·ÖÀà 2008-02-28 14:28 ÔĶÁ3 ÆÀÂÛ0
×ֺţº ´ó´ó ÖÐÖРСС
http://blog.chinaunix.net/u/6776/showart_186792.html C/C++Éî²ã̽Ë÷
±¾Ð¡½ÚÎÒÃǸÅÀÀÒ»ÏÂC/C++±ê×¼¿âµÄȫò¡£
C/C++±ê×¼¿âµÄÄÚÈÝÖ÷Òª°üÀ¨£º
ºê¶¨Òå £¨Æ©È磺 #define FLT_RADIX 2£©
ÀàÐͶ¨Òå £¨Æ©È磺 typedef unsigned wchar _t£©
±äÁ¿ÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 extern int errno;£©
¿âº¯ÊýÉùÃ÷ºÍ¶¨Òå £¨Æ©È磺 size_t strlen(const char *s);£©
ÆäÖУ¬ºê¶¨Òå¡¢ÀàÐͶ¨Òå¡¢±äÁ¿ÉùÃ÷ºÍ¿âº¯ÊýµÄÉùÃ÷¶¼ÔÚ±ê׼ͷÎļþ½øÐÐÃèÊö£¬ËùÒÔ£¬±ê׼ͷÎļþʵ¼ÊÉÏÒѾ¹´»³öÕû¸ö±ê×¼¿âµÄÂÖÀª¡£
ÏÖÔÚÎÒÃÇÀ´¿´¿´CÓïÑԵıê׼ͷÎļþ¡£
C90ÓÐÕâЩ£º
assert.h ctype.h errno.h float.h
limits.h locale.h math.h setjmp.h
signal.h stdarg.h stddef.h stdio.h
......
C/C++ÖÐnearºÍfarµÄÇø±ð
¹Ø¼ü×ÖnearºÍfarÊÜÄ¿±ê¼ÆËã»úÌåϵ½á¹¹µÄÓ°Ï졣Ŀǰ±à³ÌÖÐʹÓò»¶à¡£
near¹Ø¼ü×Ö´´½¨Ò»¸öÖ¸Ïò¿ÉѰַÄÚ´æµÍ¶Ë²¿·ÖµÄÄ¿±êÖ¸Õë¡£ÕâЩָÕëÕ¼ÓÃÄÚ´æµÄµ¥Ò»×Ö½Ú£¬²¢ÇÒËûÃÇÄܹ»Ö¸ÏòµÄÄÚ´æµ¥Ôª±»ÏÞÖÆµ½256¸öλÖã¬Í¨³£ÊÇÔÚ0x0000~0x00ff·¶Î§ÖС£
int near * ptr£»
far¹Ø¼ü×Ö´´½¨Ò»¸öÄܹ»Ö¸ÏòÄÚ´æÖÐÈκÎÊý¾ÝµÄÖ¸Õ룺
char far * ptr£»
near (½ü)Ö¸Õ룺16λ¶ÎÄÚÆ«ÒƵØÖ·
far(Ô¶)Ö¸Õ룺16λ¶ÎµØÖ·£«16λ¶ÎÄÚÆ«ÒƵØÖ·
huge(¾Þ)Ö¸Õ룺32λ¹æ¸ñ»¯µÄ¾ßÓÐΨһÐÔµÄÄÚ´æµØÖ·
CÓïÑԵĴæÖüÊôÐÔÓÉÁùÖÖ±àÒëģʽ¾ö¶¨(²Î¼ûTC¼¯³É»·¾³²Ëµ¥ÖеÄoption->compiler->modelÑ¡Ïî)£¬Ä¬ÈϵıàÒëģʽΪsmall, ÔڸñàÒëģʽÏ£¬Ö¸ÕëµÄĬÈÏÊôÐÔΪnear¡£
²¹³ä£ºnearÖ¸ÕëÊÇ16λָÕ룬ÒÀÀµÒ»¸ö¶ÎµØÖ·¼Ä´æÆ÷£¬Ö¸Õë±äÁ¿¾ÍÊÇÎ»ÒÆÁ¿£¬ÀûÓà ¶ÎµØÖ·¼Ä´æÆ÷+Ö¸Õë À´Ñ°Ö·£¬ËùÒÔÓÐ64KÖ®ÏÞÖÆ¡£
&n ......
C/C++ÖÐnearºÍfarµÄÇø±ð
¹Ø¼ü×ÖnearºÍfarÊÜÄ¿±ê¼ÆËã»úÌåϵ½á¹¹µÄÓ°Ï졣Ŀǰ±à³ÌÖÐʹÓò»¶à¡£
near¹Ø¼ü×Ö´´½¨Ò»¸öÖ¸Ïò¿ÉѰַÄÚ´æµÍ¶Ë²¿·ÖµÄÄ¿±êÖ¸Õë¡£ÕâЩָÕëÕ¼ÓÃÄÚ´æµÄµ¥Ò»×Ö½Ú£¬²¢ÇÒËûÃÇÄܹ»Ö¸ÏòµÄÄÚ´æµ¥Ôª±»ÏÞÖÆµ½256¸öλÖã¬Í¨³£ÊÇÔÚ0x0000~0x00ff·¶Î§ÖС£
int near * ptr£»
far¹Ø¼ü×Ö´´½¨Ò»¸öÄܹ»Ö¸ÏòÄÚ´æÖÐÈκÎÊý¾ÝµÄÖ¸Õ룺
char far * ptr£»
near (½ü)Ö¸Õ룺16λ¶ÎÄÚÆ«ÒƵØÖ·
far(Ô¶)Ö¸Õ룺16λ¶ÎµØÖ·£«16λ¶ÎÄÚÆ«ÒƵØÖ·
huge(¾Þ)Ö¸Õ룺32λ¹æ¸ñ»¯µÄ¾ßÓÐΨһÐÔµÄÄÚ´æµØÖ·
CÓïÑԵĴæÖüÊôÐÔÓÉÁùÖÖ±àÒëģʽ¾ö¶¨(²Î¼ûTC¼¯³É»·¾³²Ëµ¥ÖеÄoption->compiler->modelÑ¡Ïî)£¬Ä¬ÈϵıàÒëģʽΪsmall, ÔڸñàÒëģʽÏ£¬Ö¸ÕëµÄĬÈÏÊôÐÔΪnear¡£
²¹³ä£ºnearÖ¸ÕëÊÇ16λָÕ룬ÒÀÀµÒ»¸ö¶ÎµØÖ·¼Ä´æÆ÷£¬Ö¸Õë±äÁ¿¾ÍÊÇÎ»ÒÆÁ¿£¬ÀûÓà ¶ÎµØÖ·¼Ä´æÆ÷+Ö¸Õë À´Ñ°Ö·£¬ËùÒÔÓÐ64KÖ®ÏÞÖÆ¡£
&n ......