C/C++ÃüÃû¹æÔò
ÔÚÈí¼þ¿ª·¢ÕâÒ»¸ß¶È³éÏó¶øÇÒÊ®·Ö¸´ÔӵĻÖУ¬ÃüÃû¹æÔòµÄÖØÒªÐÔ¸üÏÔµÃÓÈΪͻ³ö¡£Ò»Ì×¶¨ÒåÁ¼ºÃ²¢ÇÒÍêÕûµÄ¡¢ÔÚÕû¸öÏîÄ¿ÖÐͳһʹÓõÄÃüÃû¹æ·¶½«´ó´óÌáÉýÔ´´úÂëµÄ¿É¶ÁÐÔºÍÈí¼þµÄ¿Éά»¤ÐÔ¡£
ÔÚÒýÈëϸ½Ú֮ǰ£¬ÏÈ˵Ã÷Ò»ÏÂÃüÃû¹æ·¶µÄÕûÌåÔÔò£º
ͬһÐÔ
ÔÚ±àдһ¸ö×ÓÄ£¿é»òÅÉÉúÀàµÄʱºò£¬Òª×ñÑÆä»ùÀà»òÕûÌåÄ£¿éµÄÃüÃû·ç¸ñ£¬±£³ÖÃüÃû·ç¸ñÔÚÕû¸öÄ£¿éÖеÄͬһÐÔ¡£
±êʶ·û×é³É
±êʶ·û²ÉÓÃÓ¢Îĵ¥´Ê»òÆä×éºÏ£¬Ó¦µ±Ö±¹ÛÇÒ¿ÉÒÔÆ´¶Á£¬¿ÉÍûÎÄÖªÒ⣬ÓôÊÓ¦µ±×¼È·¡£
×îС»¯³¤¶È && ×î´ó»¯ÐÅÏ¢Á¿ÔÔò
ÔÚ±£³ÖÒ»¸ö±êʶ·ûÒâ˼Ã÷È·µÄͬʱ£¬Ó¦µ±¾¡Á¿Ëõ¶ÌÆä³¤¶È¡£
±ÜÃâ¹ýÓÚÏàËÆ
²»Òª³öÏÖ½ö¿¿´óÐ¡Ð´Çø·ÖµÄÏàËÆµÄ±êʶ·û£¬ÀýÈç“i”Óë“I”£¬“function”Óë“Function”µÈµÈ¡£
±ÜÃâÔÚ²»Í¬¼¶±ðµÄ×÷ÓÃÓòÖÐÖØÃû
³ÌÐòÖв»Òª³öÏÖÃû×ÖÍêÈ«ÏàͬµÄ¾Ö²¿±äÁ¿ºÍÈ«¾Ö±äÁ¿£¬¾¡¹ÜÁ½ÕßµÄ×÷ÓÃÓò²»Í¬¶ø²»»á·¢ÉúÓï·¨´íÎ󣬵«ÈÝÒ×ʹÈËÎó½â¡£
ÕýÈ·ÃüÃû¾ßÓл¥³âÒâÒåµÄ±êʶ·û
ÓÃÕýÈ·µÄ·´Òå´Ê×éÃüÃû¾ßÓл¥³âÒâÒåµÄ±êʶ·û£¬È磺"nMinValue"ºÍ"nMaxValue"£¬"GetName()" ºÍ "SetName()" ....
±ÜÃâÃû×ÖÖгöÏÖÊý×Ö±àºÅ
¾¡Á¿±ÜÃâÃû×ÖÖгöÏÖÊý×Ö±àºÅ£¬ÈçValue1,Value2µÈ£¬³ý·ÇÂß¼ÉϵÄÈ·ÐèÒª±àºÅ¡£ÕâÊÇΪÁË·ÀÖ¹³ÌÐòԱ͵ÀÁ£¬²»¿ÏΪÃüÃû¶¯ÄÔ½î¶øµ¼Ö²úÉúÎÞÒâÒåµÄÃû×Ö£¨ÒòΪÓÃÊý×Ö±àºÅ×îʡʣ©¡£
Àà/½á¹¹
³ýÁËÒì³£ÀàµÈ¸ö±ðÇé¿ö£¨²»Ï£ÍûÓû§°Ñ¸ÃÀà¿´×÷Ò»¸öÆÕͨµÄ¡¢Õý³£µÄÀàÖ®Çé¿ö£©Í⣬C++Àà/½á¹¹
µÄÃüÃûÓ¦¸Ã×ñÑÒÔÏÂ×¼Ôò£º
C++Àà/½á¹¹µÄÃüÃû
ÀàµÄÃû³Æ¶¼ÒªÒÔ´óд×Öĸ“C”¿ªÍ·£¬ºó¸úÒ»¸ö»ò¶à¸öµ¥´Ê¡£Îª±ãÓڽ綨£¬Ã¿¸öµ¥´ÊµÄÊ××ÖĸҪ´óд¡£
ÍÆ¼öµÄ×é³ÉÐÎʽ
ÀàµÄÃüÃûÍÆ¼öÓÃ"Ãû´Ê"»ò"ÐÎÈÝ´Ê£«Ãû´Ê"µÄÐÎʽ£¬ÀýÈ磺"CAnalyzer", "CFastVector" ....
²»Í¬ÓÚC++ÀàµÄ¸ÅÄ´«Í³µÄC½á¹¹ÌåÖ»ÊÇÒ»ÖÖ½«Ò»×éÊý¾ÝÀ¦°óÔÚÒ»ÆðµÄ·½Ê½¡£´«Í³C½á¹¹ÌåµÄÃüÃû¹æÔòΪ£º
´«Í³C½á¹¹ÌåµÄÃüÃû
´«Í³C½á¹¹ÌåµÄÃû³ÆÈ«²¿ÓÉ´óд×Öĸ×é³É£¬µ¥´Ê¼äʹÓÃÏ»®Ï߽綨£¬ÀýÈ磺"SERVICE_STATUS", "DRIVER_INFO" ....
º¯Êý
º¯ÊýµÄÃüÃû
º¯ÊýµÄÃû³ÆÓÉÒ»¸ö»ò¶à¸öµ¥´Ê×é³É¡£Îª±ãÓڽ綨£¬Ã¿¸öµ¥´ÊµÄÊ××ÖĸҪ´óд¡£
ÍÆ¼öµÄ×é³ÉÐÎʽ
º¯ÊýÃûÓ¦µ±Ê¹ÓÃ"¶¯´Ê"»òÕß"¶¯´Ê£«Ãû´Ê"£¨¶¯±ö´Ê×飩µÄÐÎʽ¡£ÀýÈ磺"GetName()", "SetValue()", "Erase()", "Reserve()" ....
±£»¤³ÉÔ±º¯Êý
±£»¤³ÉÔ±º¯ÊýµÄ¿ªÍ·Ó¦µ±¼ÓÉÏÒ»¸öÏ»®Ïß“_”ÒÔÊ¾Çø±ð£¬ÀýÈ磺"_SetState()"
Ïà¹ØÎĵµ£º
extern "C"
Ŀ¼
¸ÅÊö ±àÒ뷽ʽ ϰ¹ßÓ÷¨
¸ÅÊö
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵Ä
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯Ê ......
[C/C++ Digestion] –
ÖØÔØ²Ù×÷·û
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-17
[1]
ÖØÔØ²Ù×÷·û
ÖØÔØ²Ù×÷·û´Ó´óµÄ·½ÃæÀ´½²¿ÉÒÔ·ÖΪÁ½Àࣺ×îºÃ»ò±ØÐë×÷ΪÀàµÄ³ÉÔ±º¯ÊýµÄ£¬ÒÔ¼°Ïà·´¡£¶ø¾ßÌ嵨½²£¬×îºÃ»ò±ØÐë×÷ΪÀàµÄ³ÉÔ±º¯ÊýµÄÓи³Öµ²Ù×÷·û
( = )
¡¢Ï±ê²Ù×÷·û
( [] ) ......
¶ÔÓÚC±àд³ÌÐò£¬´ó²¿·Ö¶¼¿ÉÒÔͨ¹ý£¬µ«ÊDz»»áÍêÈ«¼æÈÝ£¬¾ÙÁ½¸öÀý×Ó£º
1.
char *str;
str = malloc(32);
2.
char ch[3] = "abc";
gcc -g -o test test.c
g++ -g -o test test.c
ÒòΪC++¼ì²é¸ü¼ÓÑϸñ£¬CûÓÐÕâôÑϸñ¡£
´ó¼Ò¿ÉÒԱȽÏһϣ¬gcc²»»á±¨´í£¬g++»á±¨´í¡£
Èç¹û´ó¼Ò»¹ÓÐеÄcase,»¶Ó ......
step one£º½«.pcÎļþÔ¤±àÒëΪ.c
[ecif@localhost zyctest]$ proc sample1.pc
ÏÔʾÐÅÏ¢£º
Pro*C/C++: Release 10.2.0.1.0 - Production on Tue Apr 13 14:07:05 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
&nbs ......