C/C++ÖÐÔ¤±àÒë#,##,#error£¬#pragma×÷ÓÃ
#
ÊÇÉú³É×Ö·û´®£º
#define a(x) #x
a(bc
) => "bc"
##
ÊÇÁ¬½Ó£º
#define a(x) abc##x
a(123) => abc123
#error
ÊÇÉú³É±àÒë´íÎóÏûÏ¢£º
#ifdef abc
#error something wrong...
#endif
//Èç¹ûabcÊÇÒѾ¶¨ÒåµÄºê£¬ÄÇô±àÒëµÄʱºò¾Í»áÏÔʾ´íÎóÏûÏ¢something wrong...
ÔÚËùÓеÄÔ¤´¦ÀíÖ¸ÁîÖУ¬#Pragma
Ö¸Áî¿ÉÄÜÊÇ×ÔÓµÄÁË£¬ËüµÄ×÷ÓÃÊÇÉ趨±àÒëÆ÷µÄ״̬»òÕßÊÇָʾ±àÒëÆ÷Íê³ÉÒ»Ð©ÌØ¶¨µÄ¶¯×÷¡£#pragmaÖ¸Áî¶Ôÿ¸ö±àÒëÆ÷¸ø³öÁËÒ»¸ö·½·¨,ÔÚ±£³ÖÓëCºÍ
C++ÓïÑÔÍêÈ«¼æÈݵÄÇé¿öÏÂ,¸ø³öÖ÷»ú»ò²Ù×÷ϵͳרÓеÄÌØÕ÷¡£ÒÀ¾Ý¶¨Òå,±àÒëָʾÊÇ»úÆ÷»ò²Ù×÷ϵͳרÓеÄ,ÇÒ¶ÔÓÚÿ¸ö±àÒëÆ÷¶¼ÊDz»Í¬µÄ¡£
Æä¸ñʽһ°ãΪ: #Pragma Para
ÆäÖÐPara Ϊ²ÎÊý£¬ÏÂÃæÀ´¿´Ò»Ð©³£ÓõIJÎÊý¡£
(1)message ²ÎÊý¡£ Message ²ÎÊýÊÇÎÒ×îϲ»¶µÄÒ»¸ö²ÎÊý£¬ËüÄܹ»ÔÚ±àÒëÐÅÏ¢Êä³ö´°
¿ÚÖÐÊä³öÏàÓ¦µÄÐÅÏ¢£¬Õâ¶ÔÓÚÔ´´úÂëÐÅÏ¢µÄ¿ØÖÆÊǷdz£ÖØÒªµÄ¡£ÆäʹÓ÷½·¨Îª£º
#Pragma message(“ÏûÏ¢Îı¾”)
µ±±àÒëÆ÷Óöµ½ÕâÌõÖ¸Áîʱ¾ÍÔÚ±àÒëÊä³ö´°¿ÚÖн«ÏûÏ¢Îı¾´òÓ¡³öÀ´¡£
µ±ÎÒÃÇÔÚ³ÌÐòÖж¨ÒåÁËÐí¶àºêÀ´¿ØÖÆÔ´´úÂë°æ±¾µÄʱºò£¬ÎÒÃÇ×Ô¼ºÓпÉÄܶ¼»áÍü¼ÇÓÐûÓÐÕýÈ·µÄÉèÖÃÕâЩºê£¬´ËʱÎÒÃÇ¿ÉÒÔÓÃÕâÌõÖ¸ÁîÔÚ±àÒëµÄʱºò¾Í½øÐмì²é¡£¼ÙÉèÎÒÃÇÏ£ÍûÅжÏ×Ô¼ºÓÐûÓÐÔÚÔ´´úÂëµÄʲôµØ·½¶¨ÒåÁË_X86Õâ¸öºê¿ÉÒÔÓÃÏÂÃæµÄ·½·¨
#ifdef _X86
#Pragma message(“_X86 macro activated!”)
#endif
µ±ÎÒÃǶ¨ÒåÁË_X86Õâ¸öºêÒÔºó£¬Ó¦ÓóÌÐòÔÚ±àÒëʱ¾Í»áÔÚ±àÒëÊä³ö´°¿ÚÀïÏÔʾ“_
X86 macro activated!”¡£ÎÒÃǾͲ»»áÒòΪ²»¼ÇµÃ×Ô¼º¶¨ÒåµÄÒ»Ð©ÌØ¶¨µÄºê¶ø×¥¶úÄÓÈùÁË
¡£
(2)ÁíÒ»¸öʹÓõñȽ϶àµÄpragma²ÎÊýÊÇcode_seg¡£¸ñʽÈ磺
#pragma code_seg( ["section-name"[,"section-class"] ] )
ËüÄܹ»ÉèÖóÌÐòÖк¯Êý´úÂë´æ·ÅµÄ´úÂë¶Î£¬µ±ÎÒ
Ïà¹ØÎĵµ£º
1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ£¨int£¬charµÈ£©¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷ËûÃÇ ......
º¯ÊýÃûÓ뺯ÊýÖ¸Õë
Ò» ͨ³£µÄº¯Êýµ÷ÓÃ
Ò»¸öͨ³£µÄº¯Êýµ÷ÓõÄÀý×Ó£º
//×ÔÐаüº¬Í·Îļþ
void MyFun(int x); //´Ë´¦µÄÉêÃ÷Ò²¿Éд³É£ºvoid MyFun( int );
int main(int argc, char* argv[])
{
MyFun(10); //ÕâÀïÊǵ÷ÓÃMy ......
½ñÌìÏîÄ¿×é·¢ÉúÒ»¸öÊÂÇé¾ÍÊÇ£¬ºǫ́aixÉ϶ԶàÓïÑÔÎı¾£¨Ó¢Óï+ºº×Ö£©»»ÐÐÎÊÌâ¸ã²»Ì«Çå³þ¡£
×îÔçǰ̨µÄ¶à×Ö·ûµÄ´úÂëÎÒ¼ì²éÁËһϣ¨°´ÕÕ0-128ÒÔÍâËãÖÐÎĵĴúÂ룩·¢ÏÖ²»Êǰ²È«µÄ´úÂë¡£
(delphi 7.0)
delphi°²È«µÄ»ìºÏ×Ö·ûµÄ²Ù×÷·½·¨ÊÇ£º
ÔÚstrsUtilsµ¥ÔªÖÐ
leftstr
MidStr
Rightstr
aixÏÂÊÇ£º ......
ÀûÓÃJNI¼¼Êõ£¬¿ÉÒÔ×öµ½C/C++ÓëJavaÖ®¼äµÄÏ໥µ÷Óá£
1¡¢Javaµ÷ÓÃC/C++½Ó¿Ú
Õâ¸öÊÇJNI×î»ù±¾µÄÓ¦Óã¬JNIÓкܶàÕâ·½ÃæµÄÀý×Ó´úÂë¡£Ò»°ã°ÑC/C++д³É¶¯Ì¬Á´½Ó¿â£»ÔÚJava³ÌÐòÔÚLoadLibrary£¬ÀûÓÃnative½Ó¿Ú£¬¼´¿ÉÍê³Éµ÷Óá£
2¡¢C/C++»Øµ÷Java½Ó¿Ú
ÕâÖÖÓ÷¨£¬JNIµÄÀý×ӱȽÏÉÙ¡£Æäʵ£¬Ò²±È½Ï¼òµ¥£¬JNIÒ²ÌṩÁËÕâÑùµÄ½Ó¿Ú¡ ......
Ò»¡¢ÐÞÊÎÃû£¨Decorated Name£©
C/C++³ÌÐòÖеĺ¯ÊýÔÚÄÚ²¿ÊÇͨ¹ýÐÞÊÎÃûÀ´±êʶµÄ¡£ÐÞÊÎÃûÊÇÔÚº¯Êý¶¨Òå»òÔÐͱàÒë½×¶ÎÓɱàÒëÆ÷´´½¨×Ö·û´®¡£µ±ÄãÔÚLINKµÈ¹¤¾ßÖÐÒªÖ¸¶¨Ò»¸öº¯ÊýÃûʱ£¬»áÓõ½ÐÞÊÎÃû¡£
1¡¢Ê¹ÓÃÐÞÊÎÃû£º
´ó¶àÊýÇé¿öÏ£¬Äã²»±ØÖªµÀº¯ÊýµÄÐÞÊÎÃûÊÇʲô¡£Á¬½ÓÆ÷µÈ¹¤¾ßͨ³£¶¼ÄÜ´¦Àíº¯ÊýδÐÞÊεÄÃû×Ö¡£È»¶ø£¬ÔÚÓÐЩÇé ......