´ÓÁ½µÀ¾µäÊÔÌâ̸C/C++ÖÐÁªºÏÌ壨union£©µÄʹÓÃ
ÊÔÌâÒ»£º
±àдһ¶Î³ÌÐòÅжÏϵͳÖеÄCPUÊÇLittle endian»¹ÊÇBig endianģʽ£¿
·ÖÎö£º
×÷Ϊһ¸ö¼ÆËã»úÏà¹Ø×¨ÒµµÄÈË£¬ÎÒÃÇÓ¦¸ÃÔÚ¼ÆËã»ú×é³ÉÖж¼Ñ§Ï°¹ýʲô½ÐLittle
endianºÍBig endian¡£Little endianºÍBig
endianÊÇCPU´æ·ÅÊý¾ÝµÄÁ½ÖÖ²»Í¬Ë³Ðò¡£¶ÔÓÚÕûÐÍ¡¢³¤ÕûÐ͵ÈÊý¾ÝÀàÐÍ£¬Big
endianÈÏΪµÚÒ»¸ö×Ö½ÚÊÇ×î¸ßλ×Ö½Ú£¨°´Õմӵ͵ØÖ·µ½¸ßµØÖ·µÄ˳Ðò´æ·ÅÊý¾ÝµÄ¸ßλ×Ö½Úµ½µÍλ×Ö½Ú£©£»¶øLittle
endianÔòÏà·´£¬ËüÈÏΪµÚÒ»¸ö×Ö½ÚÊÇ×îµÍλ×Ö½Ú£¨°´Õմӵ͵ØÖ·µ½¸ßµØÖ·µÄ˳Ðò´æ·ÅÊý¾ÝµÄµÍλ×Ö½Úµ½¸ßλ×Ö½Ú£©¡£
ÀýÈ磬¼ÙÉè´ÓÄÚ´æµØÖ·0x0000¿ªÊ¼ÓÐÒÔÏÂÊý¾Ý£º
0x0000
0x0001
0x0002
0x0003
0x12
0x34
0xab
0xcd
Èç¹ûÎÒÃÇÈ¥¶Áȡһ¸öµØÖ·Îª0x0000µÄËĸö×Ö½Ú±äÁ¿£¬Èô×Ö½ÚÐòΪbig-
endian£¬Ôò¶Á³ö½á¹ûΪ0x1234abcd£»Èô×Ö½ÚÐòλlittle-endian£¬Ôò¶Á³ö½á¹ûΪ0xcdab3412¡£Èç¹ûÎÒÃǽ«
0x1234abcdдÈëµ½ÒÔ0x0000¿ªÊ¼µÄÄÚ´æÖУ¬ÔòLittle endianºÍBig endianģʽµÄ´æ·Å½á¹ûÈçÏ£º
µØÖ·
0x0000
0x0001
0x0002
0x0003
big-endian
0x12
0x34
0xab
0xcd
little-endian
0xcd
0xab
0x34
0x12
Ò»°ãÀ´Ëµ£¬x86ϵÁÐCPU¶¼ÊÇlittle-endianµÄ×Ö½ÚÐò£¬PowerPCͨ³£ÊÇBig endian£¬»¹ÓеÄCPUÄÜͨ¹ýÌøÏßÀ´ÉèÖÃCPU¹¤×÷ÓÚLittle endian»¹ÊÇBig endianģʽ¡£
½â´ð£º
ÏÔÈ»£¬½â´ðÕâ¸öÎÊÌâµÄ·½·¨Ö»ÄÜÊǽ«Ò»¸ö×Ö½Ú£¨CHAR/BYTEÀàÐÍ£©µÄÊý¾ÝºÍÒ»¸öÕû
ÐÍÊý¾Ý´æ·ÅÓÚͬÑùµÄÄڴ濪ʼµØÖ·£¬Í¨¹ý¶ÁÈ¡ÕûÐÍÊý¾Ý£¬·ÖÎöCHAR/BYTEÊý¾ÝÔÚÕûÐÍÊý¾ÝµÄ¸ßλ»¹ÊǵÍλÀ´ÅжÏCPU¹¤×÷ÓÚLittle
endian»¹ÊÇBig endianģʽ¡£µÃ³öÈçϵĴ𰸣º
typedef unsigned char BYTE;
int main(int argc, char* argv[])
{
unsigned int num,*p;
p = #
num = 0;
*(BYTE *)p = 0xff;
if(num == 0xff)
{
printf("The endian of cpu is little\n");
}
else //num == 0xff0
Ïà¹ØÎĵµ£º
wchar_t wsWorkingDir[256] = _T("");
CString strPDF(_T(""));
::GetCurrentDirectory(256, wsWorkingDir);
strPDF.Format(_T("%s"), wsWorkingDir);
if (strPDF.GetAt(strPDF.GetLength()-1) != '\\')
{
strPDF += '\\';
}
strPDF += "doc\\my.pdf" ......
ÉÏÆª½éÉÜÁËÓÃC++µ÷ÓÃJavaScript£¬ÕâÆª·´¹ýÀ´ËµËµJSµ÷C++£¬ÕâÑùJSºÍC++¹µÍ¨µÄ;¾¶¾ÍÍêÕûÁË¡£
Ê×ÏÈ£¬ÊµÏÖÒ»¸öIDispatch½Ó¿Ú£¬µ±JSµ÷ÓÃC++º¯Êýʱ£¬ÏµÍ³»áµ÷ÓÃGetIDsOfNamesÀ´Óú¯ÊýÃûÈ¡µÃº¯ÊýµÄDISPID£¬È»ºóµ÷ÓÃInvokeÍê³ÉÕæÕýµÄµ÷Óã¬ÐèҪעÒâµÄÊÇInvokeµÄpDispParamsÖеIJÎÊýÊǵ¹ÐòµÄ¡£´úÂëÈçÏ£º
class CExtenalDis ......
ÎÒÒ»Ö±Ïë×öÒ»¸öÈí¼þ³öÀ´£¬Ö»ÊǼòµ¥µÄ£¬±ÈÈç˵һ¸ö¼Ó¼õ³Ë³ýµÄEXE¡£¿ÉÊÇÎÒÖªµÀÎÒ´íÁË£¬ÎÒ×î½üÑ¡ÐÞÁËÒ»Ãŵç×Ó¹¤³ÌÉè¼ÆÓëÖÆ×÷ºó²ÅÁ˽â±à³ÌµÄÄ¿µÄºÍ¹¤¾ßµÄ¶àÑùÐÔ¡£²»Í¬µÄÈí¼þÌṩ²»Í¬µÄ±àÒë»·¾³£¬ÎÒ·¢ÏÖÄ£ÄâÈí¼þµÄÇ¿µÄ¡£ÎÒʱ³£ÏëÎÒÊDz»ÊÇ¿ÉÒÔͨ¹ýÎÒÏÂÔØ°²×°µÄÈí¼þÀ´Ñ§Ï°Ð©Ô´³ÌÐò¡£ÊǵÄÓÐһЩ£¬¿ÉÊÇÍêÈ«¿´²»¶®£¬³ýÁË ......
´ÓÁ½µÀ¾µäÊÔÌâ̸C/C++ÖÐÁªºÏÌ壨union£©µÄʹÓÃ
ÊÔÌâÒ»£º±àдһ¶Î³ÌÐòÅжÏϵͳÖеÄCPUÊÇLittle endian»¹ÊÇBig endianģʽ£¿
·ÖÎö£º
×÷Ϊһ¸ö¼ÆËã»úÏà¹Ø×¨ÒµµÄÈË£¬ÎÒÃÇÓ¦¸ÃÔÚ¼ÆËã»ú×é³ÉÖж¼Ñ§Ï°¹ýʲô½ÐLittle endianºÍBig endian¡£Little endianºÍBig endianÊÇCPU´æ·ÅÊý¾ÝµÄÁ½ÖÖ²»Í¬Ë³Ðò¡£¶ÔÓÚÕûÐÍ¡¢³¤ÕûÐ͵ÈÊý¾ÝÀàÐÍ£ ......
Ô¤´¦ÀíÆ÷£¨Preprocessor£©
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Ó ......