C/C++ÖеÄÈÕÆÚºÍʱ¼ä time_tÓëstruct tmת»»
ͻ񻣼
±¾ÎÄ´Ó½éÉÜ»ù´¡¸ÅÄîÈëÊÖ£¬Ì½ÌÖÁËÔÚC/C++ÖжÔÈÕÆÚºÍʱ¼ä²Ù×÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£¬²¢¶Ô¼ÆÊ±¡¢Ê±¼äµÄ»ñÈ¡¡¢Ê±¼äµÄ¼ÆËãºÍÏÔʾ¸ñʽµÈ·½Ãæ½øÐÐÁ˲ûÊö¡£±¾ÎÄ»¹Í¨¹ý´óÁ¿µÄʵÀýÏòÄãչʾÁËtime.hÍ·ÎļþÖÐÉùÃ÷µÄ¸÷ÖÖº¯ÊýºÍÊý¾Ý½á¹¹µÄÏêϸʹÓ÷½·¨¡£
¹Ø¼ü×Ö£ºUTC£¨ÊÀ½ç±ê׼ʱ¼ä£©£¬Calendar Time£¨ÈÕÀúʱ¼ä£©£¬epoch£¨Ê±¼äµã£©£¬clock tick£¨Ê±ÖÓ¼ÆÊ±µ¥Ôª£©
1£®¸ÅÄî
ÔÚC/C++ÖУ¬¶Ô×Ö·û´®µÄ²Ù×÷ÓкܶàÖµµÃ×¢ÒâµÄÎÊÌ⣬ͬÑù£¬C/C++¶Ôʱ¼äµÄ²Ù×÷Ò²ÓÐÐí¶àÖµµÃ´ó¼Ò×¢ÒâµÄµØ·½¡£×î½ü£¬ÔÚ¼¼ÊõȺÖÐÓкܶàÍøÓÑÒ²¶à´ÎÎʵ½¹ýC++ÓïÑÔÖжÔʱ¼äµÄ²Ù×÷¡¢»ñÈ¡ºÍÏÔʾµÈµÈµÄÎÊÌâ¡£ÏÂÃæ£¬ÔÚÕâÆªÎÄÕÂÖУ¬±ÊÕß½«Ö÷Òª½éÉÜÔÚC/C++ÖÐʱ¼äºÍÈÕÆÚµÄʹÓ÷½·¨.
ͨ¹ýѧϰÐí¶àC/C++¿â£¬Äã¿ÉÒÔÓкܶà²Ù×÷¡¢Ê¹ÓÃʱ¼äµÄ·½·¨¡£µ«ÔÚÕâ֮ǰÄãÐèÒªÁ˽âһЩ“ʱ¼ä”ºÍ“ÈÕÆÚ”µÄ¸ÅÄÖ÷ÒªÓÐÒÔϼ¸¸ö£º
Coordinated Universal Time£¨UTC£©£ºÐµ÷ÊÀ½çʱ£¬ÓÖ³ÆÎªÊÀ½ç±ê׼ʱ¼ä£¬Ò²¾ÍÊÇ´ó¼ÒËùÊìÖªµÄ¸ñÁÖÍþÖαê׼ʱ¼ä£¨Greenwich Mean Time£¬GMT£©¡£±ÈÈ磬ÖйúÄڵصÄʱ¼äÓëUTCµÄʱ²îΪ+8£¬Ò²¾ÍÊÇUTC+8¡£ÃÀ¹úÊÇUTC-5¡£
Calendar Time£ºÈÕÀúʱ¼ä£¬Ê ......
C/C++ÖеÄÈÕÆÚºÍʱ¼ä time_tÓëstruct tmת»»
ͻ񻣼
±¾ÎÄ´Ó½éÉÜ»ù´¡¸ÅÄîÈëÊÖ£¬Ì½ÌÖÁËÔÚC/C++ÖжÔÈÕÆÚºÍʱ¼ä²Ù×÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£¬²¢¶Ô¼ÆÊ±¡¢Ê±¼äµÄ»ñÈ¡¡¢Ê±¼äµÄ¼ÆËãºÍÏÔʾ¸ñʽµÈ·½Ãæ½øÐÐÁ˲ûÊö¡£±¾ÎÄ»¹Í¨¹ý´óÁ¿µÄʵÀýÏòÄãչʾÁËtime.hÍ·ÎļþÖÐÉùÃ÷µÄ¸÷ÖÖº¯ÊýºÍÊý¾Ý½á¹¹µÄÏêϸʹÓ÷½·¨¡£
¹Ø¼ü×Ö£ºUTC£¨ÊÀ½ç±ê׼ʱ¼ä£©£¬Calendar Time£¨ÈÕÀúʱ¼ä£©£¬epoch£¨Ê±¼äµã£©£¬clock tick£¨Ê±ÖÓ¼ÆÊ±µ¥Ôª£©
1£®¸ÅÄî
ÔÚC/C++ÖУ¬¶Ô×Ö·û´®µÄ²Ù×÷ÓкܶàÖµµÃ×¢ÒâµÄÎÊÌ⣬ͬÑù£¬C/C++¶Ôʱ¼äµÄ²Ù×÷Ò²ÓÐÐí¶àÖµµÃ´ó¼Ò×¢ÒâµÄµØ·½¡£×î½ü£¬ÔÚ¼¼ÊõȺÖÐÓкܶàÍøÓÑÒ²¶à´ÎÎʵ½¹ýC++ÓïÑÔÖжÔʱ¼äµÄ²Ù×÷¡¢»ñÈ¡ºÍÏÔʾµÈµÈµÄÎÊÌâ¡£ÏÂÃæ£¬ÔÚÕâÆªÎÄÕÂÖУ¬±ÊÕß½«Ö÷Òª½éÉÜÔÚC/C++ÖÐʱ¼äºÍÈÕÆÚµÄʹÓ÷½·¨.
ͨ¹ýѧϰÐí¶àC/C++¿â£¬Äã¿ÉÒÔÓкܶà²Ù×÷¡¢Ê¹ÓÃʱ¼äµÄ·½·¨¡£µ«ÔÚÕâ֮ǰÄãÐèÒªÁ˽âһЩ“ʱ¼ä”ºÍ“ÈÕÆÚ”µÄ¸ÅÄÖ÷ÒªÓÐÒÔϼ¸¸ö£º
Coordinated Universal Time£¨UTC£©£ºÐµ÷ÊÀ½çʱ£¬ÓÖ³ÆÎªÊÀ½ç±ê׼ʱ¼ä£¬Ò²¾ÍÊÇ´ó¼ÒËùÊìÖªµÄ¸ñÁÖÍþÖαê׼ʱ¼ä£¨Greenwich Mean Time£¬GMT£©¡£±ÈÈ磬ÖйúÄڵصÄʱ¼äÓëUTCµÄʱ²îΪ+8£¬Ò²¾ÍÊÇUTC+8¡£ÃÀ¹úÊÇUTC-5¡£
Calendar Time£ºÈÕÀúʱ¼ä£¬Ê ......
´Óprintf̸¿É±ä²ÎÊýº¯ÊýµÄʵÏÖ ×ªÌù
ÔÎÄ×÷ÕߣºÈÖÑÇÐÂ
ÕªÒª£ºÒ»Ö±ÒÔÀ´¶¼¾õµÃprintfËÆºõÊÇcÓïÑÔ¿âÖй¦ÄÜ×îÇ¿´óµÄº¯ÊýÖ®Ò»£¬²»½öÒòΪËüÄܸñʽ»¯Êä³ö£¬¸üÔÚÓÚËüµÄ²ÎÊý¸öÊýûÓÐÏÞÖÆ£¬Òª¼¸¸ö¾Í¸ø¼¸¸ö£¬À´Õß²»¾Ü¡£printfÕâÖÖ¶Ô²ÎÊý¸öÊýºÍ²ÎÊýÀàÐ͵ÄÇ¿´óÊÊÓ¦ÐÔ£¬ÈÃÈ˲úÉúÁ˶ÔËü½øÐÐ̽Ë÷µÄŨºñÐËȤ¡£
¹Ø¼ü×Ö£ºprintf, ¿É±ä²ÎÊý
1. ʹÓÃÇéÐÎ
int a =10;
double b = 20.0;
char *str = "Hello world";
printf("begin print\n");
printf("a=%d, b=%.3f, str=%s\n", a, b, str);
...
¡¡¡¡´ÓprintfµÄʹÓÃÇé¿öÀ´¿´£¬ÎÒÃDz»ÄÑ·¢ÏÖÒ»¸ö¹æÂÉ£¬¾ÍÊÇÎÞÂÛÆä¿É±äµÄ²ÎÊýÓжàÉÙ¸ö£¬printfµÄµÚÒ»¸ö²ÎÊý×ÜÊÇÒ»¸ö×Ö·û´®¡£¶øÕýÊÇÕâµÚÒ»¸ö²ÎÊý£¬Ê¹µÃËü¿ÉÒÔÈ·ÈϺóÃæ»¹ÓÐÓжàÉÙ¸ö²ÎÊýÎ²Ëæ¡£¶øÎ²ËæµÄÿ¸ö²ÎÊýÕ¼ÓõÄÕ»¿Õ¼ä´óСÓÖÊÇͨ¹ýµÚÒ»¸ö¸ñʽ×Ö·û´®È·¶¨µÄ¡£È»¶øprintfµ½µ×ÊÇÔõÑùÈ¡µÚÒ»¸ö²ÎÊýºóÃæµÄ²ÎÊýÖµµÄÄØ£¬Çë¿´ÈçÏ´úÂë
2. printf º¯ÊýµÄʵÏÖ
//acenv.h
typedef char *va_list;
#define _AUPBND (sizeof (acpi_native_int) - 1)
#define _ADNBND (sizeof (acpi_native_int) ......
´Óprintf̸¿É±ä²ÎÊýº¯ÊýµÄʵÏÖ ×ªÌù
ÔÎÄ×÷ÕߣºÈÖÑÇÐÂ
ÕªÒª£ºÒ»Ö±ÒÔÀ´¶¼¾õµÃprintfËÆºõÊÇcÓïÑÔ¿âÖй¦ÄÜ×îÇ¿´óµÄº¯ÊýÖ®Ò»£¬²»½öÒòΪËüÄܸñʽ»¯Êä³ö£¬¸üÔÚÓÚËüµÄ²ÎÊý¸öÊýûÓÐÏÞÖÆ£¬Òª¼¸¸ö¾Í¸ø¼¸¸ö£¬À´Õß²»¾Ü¡£printfÕâÖÖ¶Ô²ÎÊý¸öÊýºÍ²ÎÊýÀàÐ͵ÄÇ¿´óÊÊÓ¦ÐÔ£¬ÈÃÈ˲úÉúÁ˶ÔËü½øÐÐ̽Ë÷µÄŨºñÐËȤ¡£
¹Ø¼ü×Ö£ºprintf, ¿É±ä²ÎÊý
1. ʹÓÃÇéÐÎ
int a =10;
double b = 20.0;
char *str = "Hello world";
printf("begin print\n");
printf("a=%d, b=%.3f, str=%s\n", a, b, str);
...
¡¡¡¡´ÓprintfµÄʹÓÃÇé¿öÀ´¿´£¬ÎÒÃDz»ÄÑ·¢ÏÖÒ»¸ö¹æÂÉ£¬¾ÍÊÇÎÞÂÛÆä¿É±äµÄ²ÎÊýÓжàÉÙ¸ö£¬printfµÄµÚÒ»¸ö²ÎÊý×ÜÊÇÒ»¸ö×Ö·û´®¡£¶øÕýÊÇÕâµÚÒ»¸ö²ÎÊý£¬Ê¹µÃËü¿ÉÒÔÈ·ÈϺóÃæ»¹ÓÐÓжàÉÙ¸ö²ÎÊýÎ²Ëæ¡£¶øÎ²ËæµÄÿ¸ö²ÎÊýÕ¼ÓõÄÕ»¿Õ¼ä´óСÓÖÊÇͨ¹ýµÚÒ»¸ö¸ñʽ×Ö·û´®È·¶¨µÄ¡£È»¶øprintfµ½µ×ÊÇÔõÑùÈ¡µÚÒ»¸ö²ÎÊýºóÃæµÄ²ÎÊýÖµµÄÄØ£¬Çë¿´ÈçÏ´úÂë
2. printf º¯ÊýµÄʵÏÖ
//acenv.h
typedef char *va_list;
#define _AUPBND (sizeof (acpi_native_int) - 1)
#define _ADNBND (sizeof (acpi_native_int) ......
extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
·Ö±ð´æÎªtest.cc,test.c£¬·Ö±ð½øÐбàÒëÉú³ÉobjectÎļþ£º
g++ -c test.cc -o testcc
gcc -c test.c -o testc
ʹÓÃnmÃüÁî²é¿´Éú³ÉµÄobjectÎļþµÄ²»Í¬ÔÚÄĸöµØ·½£º
nm testcc
00000000 T _Z4funci
U __gxx_personality_v0
nm testc
00000000 T func
¿´³öÀ´Á˰ɣ¬C++±àÒëÆ÷°Ñ²ÎÊýÐÅÏ¢±àÒëºó·Åµ½Á˺¯ÊýµÄ¶ÔÏóÃû×ÖÀïÃæ£¨ÎªÁËʵÏÖ¶à̬£©£¬ËùÒÔ²»ÄÜ»¥ÏàÖ±½Óµ÷Óá£
ÖªµÀÁËÔÒò£¬½â¾öµÄ°ì·¨×ÔÈ»¾ÍÓÐÁË£¬Ö»Òª¸æËßÁ´½Ó³ÌÐò£¬ÄãÁ´½ÓµÄobjectµÄÃüÃû·½Ê½£¬Ëü¾Í»á°ïÄã×ö²»Ò»ÑùµÄ²éÕÒ£¬´Ó¶øÕÒµ½C»òÕßC++ÀïÃæµÄº¯ÊýÁË¡£
±ÈÈ磺
ÒªÈÃC++Äܹ»µ÷ÓÃCµÄº¯Êý£º
main.cc
extern "C"
{
int func(int i) ......
extern³ýÁËÄܹ»ÓÃÓÚÉùÃ÷±äÁ¿£¬ÒѾÔÚÍⲿ±»¶¨Ò壬²»ÓÃÖØÐ¶¨ÒåºÍ·ÖÅäÄÚ´æ¿Õ¼ä£¬»¹¿ÉÒÔÔÚC++ÓëC½øÐÐÏ໥º¯Êýµ÷Ó÷½Ãæ»áÓкܴóµÄÓô¦¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´Ò»Ï£¬ÎªÊ²Ã´C++ºÍCÓïÑÔ²»ÄÜÏ໥½øÐк¯Êýµ÷Óãº
±àдÈçϵÄÔ´Îļþ£º
int func(int i)
{
return 1;
}
·Ö±ð´æÎªtest.cc,test.c£¬·Ö±ð½øÐбàÒëÉú³ÉobjectÎļþ£º
g++ -c test.cc -o testcc
gcc -c test.c -o testc
ʹÓÃnmÃüÁî²é¿´Éú³ÉµÄobjectÎļþµÄ²»Í¬ÔÚÄĸöµØ·½£º
nm testcc
00000000 T _Z4funci
U __gxx_personality_v0
nm testc
00000000 T func
¿´³öÀ´Á˰ɣ¬C++±àÒëÆ÷°Ñ²ÎÊýÐÅÏ¢±àÒëºó·Åµ½Á˺¯ÊýµÄ¶ÔÏóÃû×ÖÀïÃæ£¨ÎªÁËʵÏÖ¶à̬£©£¬ËùÒÔ²»ÄÜ»¥ÏàÖ±½Óµ÷Óá£
ÖªµÀÁËÔÒò£¬½â¾öµÄ°ì·¨×ÔÈ»¾ÍÓÐÁË£¬Ö»Òª¸æËßÁ´½Ó³ÌÐò£¬ÄãÁ´½ÓµÄobjectµÄÃüÃû·½Ê½£¬Ëü¾Í»á°ïÄã×ö²»Ò»ÑùµÄ²éÕÒ£¬´Ó¶øÕÒµ½C»òÕßC++ÀïÃæµÄº¯ÊýÁË¡£
±ÈÈ磺
ÒªÈÃC++Äܹ»µ÷ÓÃCµÄº¯Êý£º
main.cc
extern "C"
{
int func(int i) ......
ʲôÊǽṹÌ壿
¼òµ¥µÄÀ´Ëµ£¬½á¹¹Ìå¾ÍÊÇÒ»¸ö¿ÉÒÔ°üº¬²»Í¬Êý¾ÝÀàÐ͵ÄÒ»¸ö½á¹¹£¬ËüÊÇÒ»ÖÖ¿ÉÒÔ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ËüµÄÌØµãºÍÊý×éÖ÷ÒªÓÐ
Á½µã²»Í¬£¬Ê×ÏȽṹÌå¿ÉÒÔ
ÔÚÒ»¸ö½á¹¹ÖÐÉùÃ÷²»Í¬µÄÊý¾ÝÀàÐÍ£¬µÚ¶þÏàͬ½á¹¹µÄ½á¹¹Ìå±äÁ¿ÊÇ¿ÉÒÔÏ໥¸³ÖµµÄ£¬¶øÊý×éÊÇ×ö²»µ½µÄ£¬ÒòΪÊý×éÊǵ¥Ò»Êý¾ÝÀàÐ͵ÄÊý¾Ý¼¯ºÏ£¬Ëü±¾Éí²»ÊÇÊý¾ÝÀàÐÍ
(¶ø½á¹¹ÌåÊÇ)£¬Êý×éÃû³ÆÊdz£Á¿Ö¸Õ룬ËùÒÔ²»¿ÉÒÔ×öΪ×óÖµ½øÐÐÔËË㣬ËùÒÔÊý×éÖ®¼ä¾Í²»ÄÜͨ¹ýÊý×éÃû³ÆÏ໥¸´ÖÆÁË£¬¼´Ê¹Êý¾ÝÀàÐͺÍÊý×é´óСÍêÈ«Ïàͬ¡£
¶¨Òå½á¹¹ÌåʹÓÃstructÐÞÊηû£¬ÀýÈ磺
struct test
{
float a;
int b;
};
ÉÏÃæµÄ´úÂë¾Í¶¨ÒåÁËÒ»¸öÃûΪtestµÄ½á¹¹Ì壬ËüµÄÊý¾ÝÀàÐ;ÍÊÇtest£¬Ëü°üº¬Á½¸ö³ÉÔ±aºÍb£¬³ÉÔ±aµÄÊý¾ÝÀàÐÍΪ¸¡µãÐÍ£¬³ÉÔ±bµÄÊý¾ÝÀàÐÍΪÕûÐÍ¡£
ÓÉÓڽṹÌå±¾Éí¾ÍÊÇ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬¶¨Òå½á¹¹Ìå±äÁ¿µÄ·½·¨ºÍ¶¨ÒåÆÕͨ±äÁ¿µÄ·½·¨Ò»Ñù¡£
test pn1;
ÕâÑù¾Í¶¨ÒåÁËÒ»test½á¹¹ÌåÊý¾ÝÀàÐ͵ĽṹÌå±äÁ¿pn1£¬½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊͨ¹ýµã²Ù×÷·û½øÐУ¬pn1.a=10 ¾Í¶Ô½á¹¹Ìå±äÁ¿pn1µÄ³ÉÔ±a½øÐÐÁ˸³Öµ²Ù×÷¡£
×¢Òâ:½á¹¹ÌåÉúÃüµÄʱºò±¾Éí²»Õ¼ÓÃÈκÎÄÚ´æ¿Õ¼ä£¬Ö»Óе±ÄãÓÃÄ㶨ÒåµÄ½á¹¹ÌåÀàÐͶ¨Òå½á¹¹Ìå±äÁ¿µÄʱºò¼ÆËã»ú²Å»á·ÖÅäÄÚ´æ¡£
½á¹¹Ì壬ͬ ......
ʲôÊǽṹÌ壿
¼òµ¥µÄÀ´Ëµ£¬½á¹¹Ìå¾ÍÊÇÒ»¸ö¿ÉÒÔ°üº¬²»Í¬Êý¾ÝÀàÐ͵ÄÒ»¸ö½á¹¹£¬ËüÊÇÒ»ÖÖ¿ÉÒÔ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ËüµÄÌØµãºÍÊý×éÖ÷ÒªÓÐ
Á½µã²»Í¬£¬Ê×ÏȽṹÌå¿ÉÒÔ
ÔÚÒ»¸ö½á¹¹ÖÐÉùÃ÷²»Í¬µÄÊý¾ÝÀàÐÍ£¬µÚ¶þÏàͬ½á¹¹µÄ½á¹¹Ìå±äÁ¿ÊÇ¿ÉÒÔÏ໥¸³ÖµµÄ£¬¶øÊý×éÊÇ×ö²»µ½µÄ£¬ÒòΪÊý×éÊǵ¥Ò»Êý¾ÝÀàÐ͵ÄÊý¾Ý¼¯ºÏ£¬Ëü±¾Éí²»ÊÇÊý¾ÝÀàÐÍ
(¶ø½á¹¹ÌåÊÇ)£¬Êý×éÃû³ÆÊdz£Á¿Ö¸Õ룬ËùÒÔ²»¿ÉÒÔ×öΪ×óÖµ½øÐÐÔËË㣬ËùÒÔÊý×éÖ®¼ä¾Í²»ÄÜͨ¹ýÊý×éÃû³ÆÏ໥¸´ÖÆÁË£¬¼´Ê¹Êý¾ÝÀàÐͺÍÊý×é´óСÍêÈ«Ïàͬ¡£
¶¨Òå½á¹¹ÌåʹÓÃstructÐÞÊηû£¬ÀýÈ磺
struct test
{
float a;
int b;
};
ÉÏÃæµÄ´úÂë¾Í¶¨ÒåÁËÒ»¸öÃûΪtestµÄ½á¹¹Ì壬ËüµÄÊý¾ÝÀàÐ;ÍÊÇtest£¬Ëü°üº¬Á½¸ö³ÉÔ±aºÍb£¬³ÉÔ±aµÄÊý¾ÝÀàÐÍΪ¸¡µãÐÍ£¬³ÉÔ±bµÄÊý¾ÝÀàÐÍΪÕûÐÍ¡£
ÓÉÓڽṹÌå±¾Éí¾ÍÊÇ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬¶¨Òå½á¹¹Ìå±äÁ¿µÄ·½·¨ºÍ¶¨ÒåÆÕͨ±äÁ¿µÄ·½·¨Ò»Ñù¡£
test pn1;
ÕâÑù¾Í¶¨ÒåÁËÒ»test½á¹¹ÌåÊý¾ÝÀàÐ͵ĽṹÌå±äÁ¿pn1£¬½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊͨ¹ýµã²Ù×÷·û½øÐУ¬pn1.a=10 ¾Í¶Ô½á¹¹Ìå±äÁ¿pn1µÄ³ÉÔ±a½øÐÐÁ˸³Öµ²Ù×÷¡£
×¢Òâ:½á¹¹ÌåÉúÃüµÄʱºò±¾Éí²»Õ¼ÓÃÈκÎÄÚ´æ¿Õ¼ä£¬Ö»Óе±ÄãÓÃÄ㶨ÒåµÄ½á¹¹ÌåÀàÐͶ¨Òå½á¹¹Ìå±äÁ¿µÄʱºò¼ÆËã»ú²Å»á·ÖÅäÄÚ´æ¡£
½á¹¹Ì壬ͬ ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ² ......
Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ©³äÁË´ó¹æÄ£¹¤³ÌÓ¦Ó㬸´ÔÓµÄϵͳ½á¹¹µÄ×éÖ¯ºÍÕÆ¿Ø·½·¨£¬µ«ÊÇ£¬ÎÒÈÏΪ£¬C++¹Ç×ÓÀﻹÊÇCµÄ¡£
±Ï¾¹£¬½â¾ö¾ßÌåÎÊÌ⣬ÿ¸öº¯ÊýÄÚ²¿£¬¶¼ÊÇÓÃCµÄ·½Ê½Ð´³ÌÐò£¬»¹ÊÇÃæÏò¹ý³ÌµÄ¡£
Òò´Ë£¬ÏëҪѧϰºÃC++£¬ÎҵĽ¨Ò飬ÏÈѧϰC£¬ÏÈѧ½â¾öÎÊÌâµÄÄÜÁ¦£¬ÔÙÌÖÂÛ½â¾ö´óÎÊÌâµÄÄÜÁ¦¡£¾ÍÊÇÏÈѧϰÔõô×ß·£¬ÔÙѧϰÔõôÅܲ½¡£
2¡¢Ñ§Ï°CµÄ¹ý³ÌÖУ¬Ò»¶¨ÒªÀí½â½á¹¹»¯±à³Ì˼ά¡£
ÎªÊ²Ã´ÄØ£¬ÎÒÇ°ÃæÓÐÎÄÕÂ˵¹ý£¬Èí¼þÓïÑԵķ¢Õ¹¹ý³Ì£¬¾ÍÊÇÒ»¸öÊý¾Ý˽Óл¯µÄ¹ý³Ì£¬´óÐ͹¤³ÌÓ¦Óã¬Ç¿µ÷¸ßÄÚ¾Û£¬µÍñîºÏ£¬Ä£¿é»¯Éè¼Æ£¬±£³Ö´úÂë×î´óµÄÁé»îÐԺͰ²È«ÐÔ¡£
ÕâÊÇÏÖ´ú¹¤³Ì»¯¿ª·¢µÄºËÐĺÍÁé»ê¡£
Òò´Ë£¬ÀûÓÃCÕâÃÅÓïÑÔÈëÃÅ£¬½è´ËÀí½â½á¹¹»¯¿ª·¢Ë¼Î¬£¬¿ÉÒÔ˵ÊǸöºÜ·½±ãµÄ·×Ó¡£ÒòΪCµÄº¯Êý£¬±¾À´¾ÍÊÇÎªÖØÓÃ×ö×¼±¸µÄ¡£Í¬Ê±£¬È«¾Ö±äÁ¿ºÍcppÄÚ²¿Ë½ÓбäÁ¿µÄ² ......
ÔÚ×öwindowsÇý¶¯³ÌÐò¿ª·¢Ö®Ç°£¬Ê×ÏÈҪȷ¶¨¿ª·¢µÄÓïÑÔ¡£ÔÚ³£¼ûµÄ±à³ÌÓïÑÔÖУ¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñC¡¢C++¡¢»ã±àÓïÑÔÉõÖÁDelphi¡£²»¹ýÓÉÓÚ
΢ÈíÌṩµÄDDK¿ª·¢»·¾³ËùÌṩµÄÎļþºÍÁ´½ÓÓõĿâÖ»Ö§³ÖCºÍC++ÓïÑÔ¡£ËùÒÔÒ»°ã¶¼²ÉÓÃC»òÕßC++¡£
ʹÓÃCÓïÑÔ£¬ÊDZȽÏÈÝÒ×ÉÏÊÖ£¬ÒòΪºÜ¶àÈ˶¼ÊÇ´ÓѧϰCÓïÑÔ¶øÑ§Ï°³ÌÐò¿ª·¢µÄ£¬¶øÔÚÇý¶¯¿ª·¢µÄʱºò£¬ÓÃCÓïÑÔдÏà¶Ô±È½Ï¼òµ¥£¬²»ÐèÒª¿¼ÂÇÌ«¶àµÄÏÞÖÆ¡£
ÓÃC++µÄ»°£¬ÔÚ±àÒëµÄʱºò£¬VC»òÕßDDK¶¼»á³öÏÖµ÷ÓôíÎóµÄÎÊÌ⣬ÕâÊÇÒòΪµ÷Ó÷½Ê½²»Ò»ÖµÄÔµ¹Ê£¬Òò´Ë£¬ÓÃC++¿ª·¢µÄÇý¶¯³ÌÐò£¬ÔÚDriverEntryÇ°ÃæÒ»°ã
¶¼Òª¼ÓÉÏ extern “C” ÕâÑùµÄ¹Ø¼ü×Ö£¬ÒÔͳһµ÷Ó÷½Ê½¡£²»¹ýʹÓÃC++Ò²ÓÐC++µÄÓÅÊÆ£¬±Ï¾¹C++Ö§³ÖÃæÏò¶ÔÏó¡£ÔÚÏÖÔڵijÌÐòÉè¼ÆÖУ¬ÃæÏò¶ÔÏóÊÇÒ»ÖÖºÜÖØÒªµÄ±à³Ì
˼Ï룬ËäÈ»ÔÚÇý¶¯³ÌÐòµÄ±àдµÄ¹ý³ÌÖУ¬Ò»Ð©C++µÄ¸ß¼¶ÌØÐÔÎÞ·¨·¢»Ó£¬µ«ÊÇ£¬Ïà¶Ô¶øÑÔ£¬C++Òѽü±È½ÏÇ¿´óÁË¡£
ÁíÍ⣬ÔÚʹÓÃC++½øÐÐÇý¶¯³ÌÐòµÄ¿ª·¢µÄʱºò£¬ÐèҪעÒâһЩÎÊÌ⣺
² NewµÈ²Ù×÷·û²»ÄÜÖ±½ÓʹÓã¬Èç¹ûҪʹÓ㬱ØÐë½øÐÐÖØÔØ¡£
² ±ê×¼C½Ó¿ÚµÄÉùÃ÷£¬ÔÚ°üº¬Í·ÎļþÒÔ¼°Èë¿ÚÀý³ÌµÄÇ°ÃæÒªÉùÃ÷extern “C”
² ÀàµÄ¾²Ì¬³ÉÔ±º¯ÊýµÄʹÓà ......
ÔÚ×öwindowsÇý¶¯³ÌÐò¿ª·¢Ö®Ç°£¬Ê×ÏÈҪȷ¶¨¿ª·¢µÄÓïÑÔ¡£ÔÚ³£¼ûµÄ±à³ÌÓïÑÔÖУ¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñC¡¢C++¡¢»ã±àÓïÑÔÉõÖÁDelphi¡£²»¹ýÓÉÓÚ
΢ÈíÌṩµÄDDK¿ª·¢»·¾³ËùÌṩµÄÎļþºÍÁ´½ÓÓõĿâÖ»Ö§³ÖCºÍC++ÓïÑÔ¡£ËùÒÔÒ»°ã¶¼²ÉÓÃC»òÕßC++¡£
ʹÓÃCÓïÑÔ£¬ÊDZȽÏÈÝÒ×ÉÏÊÖ£¬ÒòΪºÜ¶àÈ˶¼ÊÇ´ÓѧϰCÓïÑÔ¶øÑ§Ï°³ÌÐò¿ª·¢µÄ£¬¶øÔÚÇý¶¯¿ª·¢µÄʱºò£¬ÓÃCÓïÑÔдÏà¶Ô±È½Ï¼òµ¥£¬²»ÐèÒª¿¼ÂÇÌ«¶àµÄÏÞÖÆ¡£
ÓÃC++µÄ»°£¬ÔÚ±àÒëµÄʱºò£¬VC»òÕßDDK¶¼»á³öÏÖµ÷ÓôíÎóµÄÎÊÌ⣬ÕâÊÇÒòΪµ÷Ó÷½Ê½²»Ò»ÖµÄÔµ¹Ê£¬Òò´Ë£¬ÓÃC++¿ª·¢µÄÇý¶¯³ÌÐò£¬ÔÚDriverEntryÇ°ÃæÒ»°ã
¶¼Òª¼ÓÉÏ extern “C” ÕâÑùµÄ¹Ø¼ü×Ö£¬ÒÔͳһµ÷Ó÷½Ê½¡£²»¹ýʹÓÃC++Ò²ÓÐC++µÄÓÅÊÆ£¬±Ï¾¹C++Ö§³ÖÃæÏò¶ÔÏó¡£ÔÚÏÖÔڵijÌÐòÉè¼ÆÖУ¬ÃæÏò¶ÔÏóÊÇÒ»ÖÖºÜÖØÒªµÄ±à³Ì
˼Ï룬ËäÈ»ÔÚÇý¶¯³ÌÐòµÄ±àдµÄ¹ý³ÌÖУ¬Ò»Ð©C++µÄ¸ß¼¶ÌØÐÔÎÞ·¨·¢»Ó£¬µ«ÊÇ£¬Ïà¶Ô¶øÑÔ£¬C++Òѽü±È½ÏÇ¿´óÁË¡£
ÁíÍ⣬ÔÚʹÓÃC++½øÐÐÇý¶¯³ÌÐòµÄ¿ª·¢µÄʱºò£¬ÐèҪעÒâһЩÎÊÌ⣺
² NewµÈ²Ù×÷·û²»ÄÜÖ±½ÓʹÓã¬Èç¹ûҪʹÓ㬱ØÐë½øÐÐÖØÔØ¡£
² ±ê×¼C½Ó¿ÚµÄÉùÃ÷£¬ÔÚ°üº¬Í·ÎļþÒÔ¼°Èë¿ÚÀý³ÌµÄÇ°ÃæÒªÉùÃ÷extern “C”
² ÀàµÄ¾²Ì¬³ÉÔ±º¯ÊýµÄʹÓà ......