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

extern "C" µÄÓÃÒâ

ǰЩÌ죬±à³ÌÐòÊÇÓõ½Á˺ܾÃÒÔǰдµÄC³ÌÐò£¬Ïë°ÑÀïÃæµÄº¯ÊýÀûÓÃÆðÀ´£¬Á¬½Ó·¢ÏÖ³öÏÖÁËÕÒ²»µ½¾ßÌ庯ÊýµÄ´íÎó£º
ÒÔÏÂÊǼÙÉè¾ÉµÄC³ÌÐò¿â
CµÄÍ·Îļþ
/*-----------c.h--------------*/
#ifndef _C_H_
#define _C_H_
extern int add(int x, int y);
#endifCµÄÔ´Îļþ
/*-----------c.c--------------*/
int add(int x, int y){
 return x+y;
}
C++µÄµ÷ÓÃ
/*-----------cpp.cpp--------------*/
#include "c.h"
void main()
{
 add(1, 0);
}
ÕâÑù±àÒë»á²úÉú´íÎócpp.obj : error LNK2001: unresolved external symbol "int __cdecl add(int,int)" (?add@@YAHHH@Z)£¬Ô­ÒòÊÇÕÒ²»µ½addµÄÄ¿±êÄ£¿é
Õâ²ÅÁîÎÒÏëÆðC++ÖØÔØµÄº¯ÊýÃüÃû·½Ê½ºÍCº¯ÊýµÄÃüÃû·½Ê½£¬ÈÃÎÒÃǻعËһϣºCÖк¯Êý±àÒëºóÃüÃû»áÔÚº¯ÊýÃûǰ¼ÓÒÔ"_",±ÈÈçaddº¯Êý±àÒë³ÉobjÎļþʱµÄʵ¼ÊÃüÃûΪ_add£¬¶øc++ÃüÃûÔò²»Í¬£¬ÎªÁËʵÏÖº¯ÊýÖØÔØÍ¬ÑùµÄº¯ÊýÃûaddÒò²ÎÊýµÄ²»Í¬»á±»±àÒë³É²»Í¬µÄÃû×Ö
ÀýÈç
int add(int , int)==>add@@YAHHH@Z,
float add(float , float )==>add@@YAMMM@Z,
ÒÔÉÏÊÇVC6µÄÃüÃû·½Ê½£¬²»Í¬µÄ±àÒëÆ÷»á²»Í¬£¬×ÜÖ®²»Í¬µÄ²ÎÊýͬÑùµÄº¯ÊýÃû½«±àÒë³É²»Í¬Ä¿±êÃû£¬ÒÔ±ãÓÚº¯ÊýÖØÔØÊǵ÷ÓþßÌåµÄº¯Êý¡£
±àÒëcpp.cppÖбàÒëÆ÷ÔÚcppÎļþÖз¢ÏÖadd(1, 0);µÄµ÷Óöøº¯ÊýÉùÃ÷Ϊextern int add(int x, int y);±àÒëÆ÷¾Í¾ö¶¨È¥ÕÒadd@@YAHHH@Z£¬¿ÉϧËûÕÒ²»µ½£¬ÒòΪCµÄÔ´Îļþ°Ñextern int add(int x, int y);±àÒë³É_addÁË£»
ΪÁ˽â¾öÕâ¸öÎÊÌâC++²ÉÓÃÁËextern "C",Õâ¾ÍÊÇÎÒÃǵÄÖ÷Ì⣬ÏëÒªÀûÓÃÒÔǰµÄC³ÌÐò¿â£¬ÄÇôÄã¾ÍҪѧ»áËü£¬ÎÒÃÇ¿ÉÒÔ¿´ÒÔϱê׼ͷÎļþÄã»á·¢ÏÖ£¬ºÜ¶àÍ·Îļþ¶¼ÓÐÒÔϵĽṹ
#ifndef __H
#define __H
#ifdef __cplusplus
extern "C" {
#endif
extern int f1(int, int);
extern int f2(int, int);
extern int f3(int, int);
 
#ifdef __cplusplus
}
#endif
#endif /*__H*/
Èç¹ûÎÒÃÇ·ÂÖÆ¸ÃÍ·Îļþ¿ÉÒԵõ½
#ifndef _C_H_
#define _C_H_
#ifdef __cplusplus
extern "C" {
#endif
extern int add(int, int);
#ifdef __cplusplus
}
#endif
#endif /* _C_H_ */
ÕâÑù±àÒë
/*-----------c.c--------------*/
int add(int x, int y){
return x+y;
}
ÕâʱԴÎļþΪ*.c£¬__cplusplusûÓб»¶¨Ò壬extern "C" {}ÕâʱûÓÐÉúЧ¶ÔÓÚCËû¿´µ½Ö»ÊÇextern int add(int, int);
addº¯Êý±àÒë³É_add(int, int);
¶ø±àÒëc++Ô´Îļþ
/*-----------cp


Ïà¹ØÎĵµ£º

VIM+GDB linux c/c++ µÄ±à³ÌÀûÆ÷

ÆäʵVIMÒ²ÄܰѱàÒë µ÷ÊÔ¼¯³ÉÔÚÒ»Æð£¬ÏñÊÇÒ»¸öIDEÒ»Ñù¡£
Ê×ÏÈÏÖÔÚVIMµÄÔ´Â룬ÒòΪҪ¼¯³Éµ÷ÊÔ»·¾³µÄ»°ÐèÒªÖØÐ±àÒëVIM²ÅÐУ¬ËùÒÔÎÒÃDz»ÈçÖØÐ°²×°Ò»¸ö¡£
VIMµÄÏÖÔÚµØÖ·£º
http://www.vim.org/sources.php
È»ºóÏÂÔØVIMGDB£¬ÕâÊÇvimµÄ¼¯³Éµ÷ÊÔ»·¾³µÄÒ»¸öÖØÒª²å¼þ³ÌÐò¡£
µØÖ·£ºhttp://sourceforge.net/projects/clewn/files ......

unix C ¡¢delphiµÄ¶àÓïÑÔÎı¾×Ö·û»»ÐеÄÎÊÌâ

½ñÌìÏîÄ¿×é·¢ÉúÒ»¸öÊÂÇé¾ÍÊÇ£¬ºǫ́aixÉ϶ԶàÓïÑÔÎı¾£¨Ó¢Óï+ºº×Ö£©»»ÐÐÎÊÌâ¸ã²»Ì«Çå³þ¡£
×îÔçǰ̨µÄ¶à×Ö·ûµÄ´úÂëÎÒ¼ì²éÁËһϣ¨°´ÕÕ0-128ÒÔÍâËãÖÐÎĵĴúÂ룩·¢ÏÖ²»Êǰ²È«µÄ´úÂë¡£
(delphi 7.0)
delphi°²È«µÄ»ìºÏ×Ö·ûµÄ²Ù×÷·½·¨ÊÇ£º
ÔÚstrsUtilsµ¥ÔªÖÐ
leftstr
MidStr
Rightstr
aixÏÂÊÇ£º ......

CÖжÁÎļþ

À´×Ô£ºhttp://blogger.org.cn/blog/more.asp?name=binaryluo&id=11408
CÎļþ²Ù×÷Óöµ½µÄ×´¿ö
1.½«Ò»¸öÎļþ¶Áµ½ÁíÒ»¸öÎļþ£¬ÓÓ(ch = getc(fp)) != EOF”À´ÅжÏÎļþÊÇ·ñ½áÊø£¬Èç¹ûÎļþÊÇȫӢÎÄÎı¾µÄ»°¾ø¶ÔûÎÊÌ⣬ÐÂÎļþµÄ´óСºÍÔ­Îļþ´óСһÑù£»µ«ÊÇÈç¹ûÊÇһЩÓÐÖÐÎÄ×Ö·û»òÕßÊǶþ½øÖÆ ......

C/C++ÓÚJavaÖ®¼äµÄ»¥Ïàµ÷ÓÃ

ÀûÓÃJNI¼¼Êõ£¬¿ÉÒÔ×öµ½C/C++ÓëJavaÖ®¼äµÄÏ໥µ÷Óá£
1¡¢Javaµ÷ÓÃC/C++½Ó¿Ú
Õâ¸öÊÇJNI×î»ù±¾µÄÓ¦Óã¬JNIÓкܶàÕâ·½ÃæµÄÀý×Ó´úÂë¡£Ò»°ã°ÑC/C++д³É¶¯Ì¬Á´½Ó¿â£»ÔÚJava³ÌÐòÔÚLoadLibrary£¬ÀûÓÃnative½Ó¿Ú£¬¼´¿ÉÍê³Éµ÷Óá£
2¡¢C/C++»Øµ÷Java½Ó¿Ú
ÕâÖÖÓ÷¨£¬JNIµÄÀý×ӱȽÏÉÙ¡£Æäʵ£¬Ò²±È½Ï¼òµ¥£¬JNIÒ²ÌṩÁËÕâÑùµÄ½Ó¿Ú¡ ......

extern "C"µÄ×÷ÓÃ


Ò»¡¢ÐÞÊÎÃû£¨Decorated Name£©
C/C++³ÌÐòÖеĺ¯ÊýÔÚÄÚ²¿ÊÇͨ¹ýÐÞÊÎÃûÀ´±êʶµÄ¡£ÐÞÊÎÃûÊÇÔÚº¯Êý¶¨Òå»òÔ­ÐͱàÒë½×¶ÎÓɱàÒëÆ÷´´½¨×Ö·û´®¡£µ±ÄãÔÚLINKµÈ¹¤¾ßÖÐÒªÖ¸¶¨Ò»¸öº¯ÊýÃûʱ£¬»áÓõ½ÐÞÊÎÃû¡£
1¡¢Ê¹ÓÃÐÞÊÎÃû£º
´ó¶àÊýÇé¿öÏ£¬Äã²»±ØÖªµÀº¯ÊýµÄÐÞÊÎÃûÊÇʲô¡£Á¬½ÓÆ÷µÈ¹¤¾ßͨ³£¶¼ÄÜ´¦Àíº¯ÊýδÐÞÊεÄÃû×Ö¡£È»¶ø£¬ÔÚÓÐЩÇé ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ