"extern C", ÄãÕæµÄ¶®ÁËÂð£¿
ÔÚc++ primeÊéÖп´µ½¹ý£¬ÔÚDLLºÍlibÖп´µ½¹ý£¬µ«ÊÇÿ´Î¿´¹ý¾Í²»ÇóÉõ½âµØÒ»É¨¶ø¹ý¡£ÐÄÀïÖªµÀÓÐextern cÕâ¸öÓï¾ä£¬È´²»ÖªµÀ¸ÃÓÃÔÚÄÄÀÓÖÄÜÆðµ½Ê²Ã´×÷Óᣰ¦£¬ÏëÏë×Ô¼ºÒ²ËãÊÇд¹ý²»ÉÙCODEµÄÈËÁË£¬¿ÉÕâÖÖÑÛ¸ßÊֵ͵Ä벡ȴ´Óû¸Ä±ä¹ý¡£½ñÌìͻȻÏëÆðexternÕâ¸ö¹Ø¼ü×Ö£¬Ëì¾ö¶¨²»ÄÜÔÙÕâôÀË·Ñʱ¼äÁË¡£¿ª¶¯google£¬ÈËÈâÁËÒ»°ÑexternÕâС×Ó£¬ÒªËµËÑË÷ÒýÇæÕæÊǸöºÃ¶«Î÷£¬Ê²Ã´¶¼ÌÓ²»¹ýÈ˼ҵÄÑÛ¾¦¡£
½ñÌì¾ÍÔÚÕâÀï°ÑexternÕâÀÏС×Ó¸øËµÃ÷°×ÁË£¬Ò²ËãÓиö°×Ö½ºÚ×Ö°É¡£
Ê×ÏÈ£¬ÄãÒª¸ãÃ÷°×£¬externÊÇC++µÄ¹Ø¼ü×Ö¡£ÄÇôΪʲôC++»áÓÐÕâ¸ö¹Ø¼ü×ÖÄØ£¿
¸÷λ¿´¹ÙÓ¦¸ÃÖªµÀ£¬C++¶ÔÏàͬº¯ÊýÃû£¬µ«ÊDz»Í¬º¯Êý²ÎÊýµÄº¯ÊýÓÐÖØÔØÕâ¸ö¹¦Äܰɣ¬bingo! hey man, you got the key! ¶ÔÁË£¬C++±àÒëÆ÷»áÔÚ±àÒëʱ°ÑÖØÔØµÄº¯ÊýµÄº¯ÊýÃûÐÞ¸ÄΪ²»Í¬µÄº¯ÊýÃû£¬Õâ¾ÍÊÇΪɶC++Äܹ»½øÐÐÖØÔØµÄÔÒò¡£¾Ù¸öÀý×Ó°É¡£
int a(char)
int a(int)
int a(double)...
ÖªµÀ±àÒëºó£¬ÕâЩº¯Êýa»á±ä³ÉʲôÂð£¿ÎÒÒ²²»ÖªµÀ£¬Ó¦¸Ã²»Í¬µÄC++±àÒëÆ÷Óв»Í¬µÄʵÏÖ·½Ê½£¬ÓпÉÄÜ»áÊÇÕâÑùµÄÑù×Ó£ºa_char_xxx,a_in_xxx,a_double_xxx¡£ÕâÊÇÔÀí£¬¸÷λÓÐÒÉÎʵģ¬ÎÒÒ²¾ÍÖ»ÄܽâÊ͵½Õâ¸öµØ²½ÁË£¬¸ü½øÒ»²½µØÀí½â£¬¿´¹ÙÃÇ¿ÉÒԲο¼ºî½Ý´óÉñ·ÒëµÄ¡¶ÉîÈë̽¾¿C++¶ÔÏóÄ£ÐÍ¡·£¬ÀïÃæÓиüÏêϸµÄ³ÂÊö¡£
ÒÔÉÏÊÇ´æÔÚexternÕâ¸ö¹Ø¼ü×ÖµÄÔÒò¡£µ«ÊÇ´æÔÚexternÕâ¸ö¹Ø¼ü×ÖµÄ×÷ÓÃÓÐÄÄÐ©ÄØ£¿
ºÜ¼òµ¥À²£¬"extern c"µÄ×÷ÓþÍÊǸæËßC++±àÒëÆ÷²»ÒªÔÙ¸øÎҸı亯ÊýÃûÁË£¬ÎÒ¾ÍÒªÔÑùµÄº¯ÊýÃû£¬Ð»Ð»¡£
»¹ÊÇÉÏÃæµÄÀý×Ó£º
extern "c"
{
int a(char);
}
ÕâÑù£¬C++±àÒëÆ÷¾Í»á×𾴵ػشðÄ㣬“ºÃµÄ£¬Ö÷ÈË£¬ÌýÄãµÄ”¡£±àÒëºóµÄ·ûºÅ»¹ÊÇa£¬¶ø²»ÊÇa_char_xxxµÈµÈ¡£
ÄÇôÕâ¸öʱºò£¬Äã¿ÉÄÜ»áÎÊ£¬ÎÒÖªµÀÁË£¬¿ÉÊÇÕâÑù×öÓÐʲôÓÃÄØ£¿¾ÍÊDz»¼Óextern£¬ÎÒ»¹ÊÇÄܱàÒëͨ¹ý°¡£¬ÎÒ»¹ÊÇÄÜÕý³£Ö´Ðа¡¡£Ã»´í£¬ÕâЩÄã¶¼ÄÜ×öµ½£¬µ«ÊÇ£¬µ±ÕâЩº¯Êý±»·â×°ÔÚÒ»¸ö¿âÀïÄØ£¿¶ø
Ïà¹ØÎĵµ£º
µ±³¢ÊÔ´ÓÎļþ¶ÁÈë×Ö·ûʱ£¬getc()º¯Êý»á·µ»ØEOF£¬ËùÒÔ³ÌÐò»áÔÚÏÂÒ»´Î¶Áȡʱ²Å»á·¢ÏÖÎļþ½áβ¡£´Ëʱ³ÌÐòÔÚÊÔͼ¶ÁÈ¡¿ÕÎļþ£¬¿ÉÄܻᷢÉúһЩÎÊÌâ¡£ËùÒÔÓ¦µ±ÔÚÑ»·Èë¿Ú´¦½øÐÐÅжϡ£
int ch;
FILE * fp;
fp = fopen ("test","r");
while ((ch = getc(fp) != EOF)
{
putchar (ch);
} ......
CºÍC++µÄµãµÎ»ýÀÛ£¨1£©
1. mfc ±à³ÌÖдæÔÚ×ÅÈç¹û³öÏÖ“ÄÚ´æ²»×㔵ĶԻ°¿ò£¬Ò»ÖÖÇé¿öÊÇÔÚÉêÇëÄÚ´æµÄʱºò³öÏÖÎÊÌ⣬Ҳ¾ÍÊÇÀýÈ磺char *pChar = new char[num]; µ«´Ëʱnum ΪÁã»òÕ߸º ......
1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH ?= arm
CROSS_COMPILE ......
ͨÐÅ
Server£º
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//°æ±¾ÐÉÌ
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup ......
1,³ÌÐò¿ØÖÆÖеĿØÖÆÁ÷Óï¾äÓÃÓÚ¿ØÖƸ÷¼ÆËã»ú²Ù×÷Ö´ÐеĴÎÐò¡£
ʲôÊÇ¿ØÖÆÁ÷Óï¾äÏëÁ˰ëÌ죬ÔÀ´²»¹ýÊÇÕâЩ£¬if-elseÓï¾ä£¬else-ifÓï¾ä£¬switchÓï¾ä£¬whileÑ»·£¬forÑ»·£¬do-whileÑ»·µÈ¡£
2,»¨À¨ºÅ{}£¬ÆäÖеÄÓÒ»¨À¨ºÅÓÃÓÚ½áÊø³ÌÐò¿é£¬Æäºó²»ÐèÒª·ÖºÅ¡£
µ±³õÒ»¿´µ½“Æäºó²»ÐèÒª·ÖºÅµÄ”ʱºòÏëÁ˰ëÌ ......