Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

extern "C"

      ΪʲôÐèҪʹÓÃextern "C"ÄØ£¿C++Ö®¸¸ÔÚÉè¼ÆC++֮ʱ£¬¿¼Âǵ½µ±Ê±ÒѾ­´æÔÚÁË´óÁ¿µÄC´úÂ룬ΪÁËÖ§³ÖÔ­À´µÄC´úÂëºÍÒѾ­Ð´ºÃC¿â£¬ÐèÒªÔÚC++Öо¡¿ÉÄܵÄÖ§³ÖC£¬¶øextern "C"¾ÍÊÇÆäÖеÄÒ»¸ö²ßÂÔ¡£
¡¡¡¡ÊÔÏëÕâÑùµÄÇé¿ö:Ò»¸ö¿âÎļþÒѾ­ÓÃCдºÃÁ˶øÇÒÔËÐеúÜÁ¼ºÃ£¬Õâ¸öʱºòÎÒÃÇÐèҪʹÓÃÕâ¸ö¿âÎļþ£¬µ«ÊÇÎÒÃÇÐèҪʹÓÃC++À´Ð´Õâ¸öеĴúÂë¡£Èç¹ûÕâ¸ö´úÂëʹÓõÄÊÇC++µÄ·½Ê½Á´½ÓÕâ¸öC¿âÎļþµÄ»°£¬ÄÇô¾Í»á³öÏÖÁ´½Ó´íÎó.ÎÒÃÇÀ´¿´Ò»¶Î´úÂë:Ê×ÏÈ£¬ÎÒÃÇʹÓÃCµÄ´¦Àí·½Ê½À´Ð´Ò»¸öº¯Êý£¬Ò²¾ÍÊÇ˵¼ÙÉèÕâ¸öº¯Êýµ±Ê±ÊÇÓÃCд³ÉµÄ:
//f1.c
extern "C"
{
void f1()
{
return;
}
}
¡¡¡¡±àÒëÃüÁîÊÇ:gcc -c f1.c -o f1.o ²úÉúÁËÒ»¸ö½Ðf1.oµÄ¿âÎļþ¡£ÔÙдһ¶Î´úÂëµ÷ÓÃÕâ¸öf1º¯Êý:
// test.cxx
//Õâ¸öextern±íʾf1º¯ÊýÔÚ±ðµÄµØ·½¶¨Ò壬ÕâÑù¿ÉÒÔͨ¹ý
//±àÒ룬µ«ÊÇÁ´½ÓµÄʱºò»¹ÊÇÐèÒª
//Á´½ÓÉÏÔ­À´µÄ¿âÎļþ.
extern void f1();
int main()
{
f1();
return 0;
}
¡¡¡¡Í¨¹ýgcc -c test.cxx -o test.o ²úÉúÒ»¸ö½Ðtest.oµÄÎļþ¡£È»ºó£¬ÎÒÃÇʹÓÃgcc test.o f1.oÀ´Á´½ÓÁ½¸öÎļþ£¬¿ÉÊdzö´íÁË£¬´íÎóµÄÌáʾÊÇ:
test.o(.text + 0x1f):test.cxx: undefine reference to 'f1()'
¡¡¡¡Ò²¾ÍÊÇ˵£¬ÔÚ±àÒëtest.cxxµÄʱºò±àÒëÆ÷ÊÇʹÓÃC++µÄ·½Ê½À´´¦Àíf1()º¯ÊýµÄ£¬µ«ÊÇʵ¼ÊÉÏÁ´½ÓµÄ¿âÎļþÈ´ÊÇÓÃCµÄ·½Ê½À´´¦Àíº¯ÊýµÄ£¬ËùÒԾͻá³öÏÖÁ´½Ó¹ý²»È¥µÄ´íÎó:ÒòΪÁ´½ÓÆ÷ÕÒ²»µ½º¯Êý¡£
¡¡¡¡Òò´Ë£¬ÎªÁËÔÚC++´úÂëÖе÷ÓÃÓÃCд³ÉµÄ¿âÎļþ£¬¾ÍÐèÒªÓÃextern "C"À´¸æËß±àÒëÆ÷:ÕâÊÇÒ»¸öÓÃCд³ÉµÄ¿âÎļþ£¬ÇëÓÃCµÄ·½Ê½À´Á´½ÓËüÃÇ¡£
¡¡¡¡±ÈÈ磬ÏÖÔÚÎÒÃÇÓÐÁËÒ»¸öC¿âÎļþ£¬ËüµÄÍ·ÎļþÊÇf.h£¬²úÉúµÄlibÎļþÊÇf.lib£¬ÄÇôÎÒÃÇÈç¹ûÒªÔÚC++ÖÐʹÓÃÕâ¸ö¿âÎļþ£¬ÎÒÃÇÐèÒªÕâÑùд:
extern "C"
{
#include "f.h"
}
¡¡¡¡»Øµ½ÉÏÃæµÄÎÊÌ⣬Èç¹ûÒª¸ÄÕýÁ´½Ó´íÎó£¬ÎÒÃÇÐèÒªÕâÑù×Ó¸Äдtest.cxx:
extern "C"
{
extern void f1();
}
int main()
{
f1();
return 0;
}
¡¡¡¡ÖØбàÒë²¢ÇÒÁ´½Ó¾Í¿ÉÒÔ¹ýÈ¥ÁË.
¡¡¡¡×ܽá
¡¡¡¡CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.extern "C"ÊÇʹC++Äܹ»µ÷ÓÃCд×÷µÄ¿âÎļþµÄÒ»¸öÊֶΣ¬Èç¹ûÒª¶Ô±àÒëÆ÷ÌáʾʹÓÃCµÄ·½Ê½À´´¦Àíº¯ÊýµÄ»°£¬ÄÇô¾ÍҪʹÓÃextern "C"À´ËµÃ÷¡£
±¾ÎÄת×Ô£ºhttp://www.diybl.com/course/3_program/c++/cppsl/2008810/135631.html


Ïà¹ØÎĵµ£º

ECLIPSE ¿ª·¢ C/C++ ¹¤³Ì

  ×î½üÒ»¸öÅóÓÑ×¼±¸°ÑC´úÂëÔÚECLIPSEÉϱàÒ룬ÒÔÇ°Ò»Ö±¸ãµÄJAVA£¬Ò²ÖªµÀECLIPSEÖ§³ÖC¹¤³Ì£¬µ«ÊÇ×Ô¼º´ÓÀ´Ã»¸ã¹ý£¬ËùÒÔ¾Í×Ô¼ºÏÈ´ÓÍøÂçÉÏÕÒ×ÊÁÏ£¬Ö÷Òª·½·¨ÈçÏÂ
1¡¢°²×°JDKºÍEclipse
ÕâÀï¾Í²»¶à˵£¬¾ßÌåÇë¼û£ºhttp://blog.chinaunix.net/u/16292/showart_223309.html
Îҵݲװ»·¾³ÊÇjdk1.5£¬eclipse3.2.1
2¡¢°²×°C++µÄE ......

c ÓïÑÔÖÐfread()º¯ÊýʹÓÃʱӦ¸Ã×¢ÒâµÄµØ·½

ÓÃcÓïÑÔ×öÁ˸öͨѶ¼£¬ÏµÍ³Ò»ÔËÐÐʱ±ã½«Êý¾ÝÎļþ¼ÓÔؽøÄڴ棬²¢ÓÃÁ´±í´æ´¢¡£Í˳öϵͳʱ£¬×Ô¶¯½«Á´±íÖеÄËùÓнڵãÔÙ´æÈëÎļþ¡£
¿ÉÊÇÏÖÔÚ£¬Ã¿´ÎÍ˳öϵͳ£¬ÎļþÀﶼ»á±ÈÁ´±í¶à´æ´¢Ò»Ìõ¼Ç¼¡£
È磺ÏÖÔÚÖ»ÓÐÁ½Ìõ¼Ç¼£¬Í˳öºóÔÚÆô¶¯Ê±Ò»²éѯ£¬¾Í»á¶àÒ»ÌõÂҼǼ£¨ÏµÍ³×Ô¼º¼ÓµÄ£©¡£
¼ÓÔØÎļþµÄ²¿·Ö´úÂëÈçÏ£º
/*ÅжÏÎļþÊÇ·ñ ......

Ò»µÀcµÄÃæÊÔÌ⣬´óÊýÏà³Ë

 http://www.cnblogs.com/hoodlum1980/archive/2007/08/15/857067.html
Ìâ¸É£ºÊäÈëÁ½¸ö½Ï´óµÄÊý£¬Êä³öÏà³ËµÄ½á¹û¡£
Òâ˼Ҳ¾ÍÊÇÁ½¸öÊýºÜ´ó£¬³¬³öÁËintµÄ´æ´¢·¶Î§¡£
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 100
void GetDigits( ......

Ò»µÀC±ÊÊÔÌâ

Author: Scurffybear Date: 2009.09.08
×î½üÔÚÕÐÐÂÈË£¬ÏÂÃæÊÇÒ»µÀCµÄÃæÊÔÌ⣬ÃæÊÔµÄÓ¡¶ÈÈËÖУ¬Ã»ÓÐÒ»¸öÈË×ö¶Ô£¬ÎÒ´Ö¿´ÁËÒ»ÏÂÌ⣬ÔÚûÓп´´ð°¸Ç°£¬ÎÒ×Ô¼ºÒ²×ö´íÁË£¬àÅ£¬Êǵģ¬Ã»É¶²»ºÃÒâ˼µÄ£¬ÎÒ¾õµÃÕâ¸öÌâÄ¿ºÜÈÝÒ×ʹÈ˲úÉúÎó½â£¬ÓÖ»òÕßÔñ£ÃÓÐÉîºñ¹¦µ×µÄÈËÄܶã¹ýÕâÒ»¸öÕÏÑÛ·¨£¿
ÒÔÏÂÊÇÌâÄ¿£¬
main()
{
char * ......

¡¶±à³ÌÖéçá¡·ÖеÄÎÊÌâÓÃCʵÏÖ——1

ÎÊÌâÃèÊö£ºÒ»Ë³ÐòÎļþÖÐÖÁ¶à´æÔÚ10000000¸ö¼Ç¼£¬Ã¿Ìõ¼Ç¼¶¼ÊÇÒ»¸ö7λÕûÊý£¬Çë¶Ô´ËÎļþÖÐÊý¾Ý½øÐÐÅÅÐò¡£
ÒªÇó£º1.³ÌÐò¿ÉʹÓÃÄÚ´æÖ»ÓÐ1MB¡£2.³ÌÐòÔËÐÐʱ¼ä¾¡¿ÉÄܵĶ̡£
²¹³ä˵Ã÷£ºÃ¿¸ö¼Ç¼¶¼ÊÇÒ»¸ö7λÕýÕûÊý£¬²¢ÇÒûÓÐÆäËûµÄ¹ØÁªÊý¾Ý£¬Ã¿¸öÕûÊýÖÁ¶àÖ»ÄܳöÏÖÒ»´Î¡£
ʵÏÖ¸ÙÒª£º
ÔÚÏÖʵÖУ¬Î»Í¼ºÍλÏòÁ¿ºÜ³£¼û£¬ÎÒÃÇ¿ÉÒÔÊ¹Ó ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ