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

extern "C"(zz)


 ´ÓÄ³Î»ÍøÓѵIJ©¿Í¿´µ½¹ØÓÚextern "C"Ó÷¨µÄÎÄÕ£¬½²µÃ·Ç³£Í¸³¹£¬ÓÚÊǾÍÕª³­ÁËÎÒ֮ǰ²»ÉõÁ˽âµÄ²¿·Ö×ö¸öbackup¡£
Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡£
<2>.δ¼Óextern “C”ÉùÃ÷ʱµÄ±àÒ뷽ʽ
Ê×ÏÈ¿´¿´C++ÖжÔÀàËÆCµÄº¯ÊýÊÇÔõÑù±àÒëµÄ¡£
×÷ΪһÖÖÃæÏò¶ÔÏóµÄÓïÑÔ£¬C++Ö§³Öº¯ÊýÖØÔØ£¬¶ø¹ý³ÌʽÓïÑÔCÔò²»Ö§³Ö¡£º¯Êý±»C++±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖÓëCÓïÑԵIJ»Í¬¡£ÀýÈ磬¼ÙÉèij¸öº¯ÊýµÄÔ­ÐÍΪ£º 
void foo( int x, int y );
¸Ãº¯Êý±»C±àÒëÆ÷±àÒëºóÔÚ·ûºÅ¿âÖеÄÃû×ÖΪ_foo£¬¶øC++±àÒëÆ÷Ôò»á²úÉúÏñ_foo_int_intÖ®ÀàµÄÃû×Ö£¨²»Í¬µÄ±àÒëÆ÷¿ÉÄÜÉú³ÉµÄÃû×Ö²»Í¬£¬µ«ÊǶ¼²ÉÓÃÁËÏàͬµÄ»úÖÆ£¬Éú³ÉµÄÐÂÃû×Ö³ÆÎª“mangled name”£©¡£_foo_int_intÕâÑùµÄÃû×Ö°üº¬Á˺¯ÊýÃû¡¢º¯Êý²ÎÊýÊýÁ¿¼°ÀàÐÍÐÅÏ¢£¬C++¾ÍÊÇ¿¿ÕâÖÖ»úÖÆÀ´ÊµÏÖº¯ÊýÖØÔØµÄ¡£ÀýÈ磬ÔÚC++ÖУ¬º¯Êývoid foo( int x, int y )Óëvoid foo( int x, float y )±àÒëÉú³ÉµÄ·ûºÅÊDz»ÏàͬµÄ£¬ºóÕßΪ_foo_int_float¡£
ͬÑùµØ£¬C++ÖеıäÁ¿ ³ýÖ§³Ö¾Ö²¿±äÁ¿Í⣬»¹Ö§³ÖÀà³ÉÔ±±äÁ¿ºÍÈ«¾Ö±äÁ¿¡£Óû§Ëù±àд³ÌÐòµÄÀà³ÉÔ±±äÁ¿¿ÉÄÜÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÎÒÃÇÒÔ"."À´Çø·Ö¡£¶ø±¾ÖÊÉÏ£¬±àÒëÆ÷ÔÚ½øÐбàÒëʱ£¬Óë º¯ÊýµÄ´¦ÀíÏàËÆ£¬Ò²ÎªÀàÖеıäÁ¿È¡ÁËÒ»¸ö¶ÀÒ»ÎÞ¶þµÄÃû×Ö£¬Õâ¸öÃû×ÖÓëÓû§³ÌÐòÖÐͬÃûµÄÈ«¾Ö±äÁ¿Ãû×Ö²»Í¬¡£
<3>.δ¼Óextern "C"ÉùÃ÷ʱµÄÁ¬½Ó·½Ê½
¼ÙÉèÔÚC++ÖУ¬Ä£¿éAµÄÍ·ÎļþÈçÏ£º
// Ä£¿éAÍ·Îļþ¡¡moduleA.h
#ifndef MODULE_A_H
#define MODULE_A_H
int foo( int x, int y );
#endif
ÔÚÄ£¿éBÖÐÒýÓøú¯Êý£º
// Ä£¿éBʵÏÖÎļþ¡¡moduleB.cpp
#include "moduleA.h"
foo(2,3);
ʵ¼ÊÉÏ£¬ÔÚÁ¬½Ó½×¶Î£¬Á¬½ÓÆ÷»á´ÓÄ£¿éAÉú³ÉµÄÄ¿±êÎļþmoduleA.objÖÐѰÕÒ_foo_int_intÕâÑùµÄ·ûºÅ£¡
<4>.¼Óextern "C"ÉùÃ÷ºóµÄ±àÒëºÍÁ¬½Ó·½Ê½
¼Óextern "C"ÉùÃ÷ºó£¬Ä£¿éAµÄÍ·Îļþ±äΪ£º
// Ä£¿éAÍ·Îļþ¡¡moduleA.h
#ifndef MODULE_A_H
#define MODULE_A_H
extern "C" int foo( int x, int y );
#endif
ÔÚÄ£¿éBµÄʵÏÖÎļþÖÐÈÔÈ»µ÷ÓÃfoo( 2,3 )£¬Æä½á¹ûÊÇ£º
£¨1£©Ä£¿éA±àÒëÉú³ÉfooµÄÄ¿±ê´úÂëʱ£¬Ã»ÓÐ¶ÔÆäÃû×Ö½øÐÐÌØÊâ´¦Àí£¬²ÉÓÃÁËCÓïÑԵķ½Ê½£»
£¨2£©Á¬½ÓÆ÷ÔÚΪģ¿éBµÄÄ¿±ê´úÂëѰÕÒfoo(2,3)µ÷ÓÃʱ£¬Ñ°ÕÒµÄÊÇδ¾­Ð޸ĵķû


Ïà¹ØÎĵµ£º

[ת]C/C++µÄ64λÕûÐÍ

Technorati ±êÇ©: C++ Ô­ÎĵØÖ·£ºhttp://www.byvoid.com/blog/c-int64/ ÔÚC/C++ÖУ¬64ΪÕûÐÍÒ»Ö±ÊÇÒ»ÖÖûÓÐÈ·¶¨¹æ·¶µÄÊý¾ÝÀàÐÍ¡£ÏÖ½ñÖ÷Á÷µÄ±àÒëÆ÷ÖУ¬¶Ô64ΪÕûÐ͵ÄÖ§³ÖÒ²ÊDZê×¼²»Ò»£¬ÐÎ̬¸÷Òì¡£Ò»°ãÀ´Ëµ£¬64λÕûÐ͵͍Ò巽ʽÓÐlong longºÍ__int64Á½ÖÖ(VC»¹Ö§³Ö_int64)£¬¶øÊä³öµ½±ê×¼Êä³ö·½Ê½ÓÐprintf(¡°%lld¡±,a)£¬printf ......

strassen in c language.

#include<stdio.h>
#define N 8
void input(int n,int p[N][N])
{
 int i,j;
 for(i=0;i<n;i++)
 {
  printf("please input the %d line:\n",i+1);
  for(j=0;j<n;j++)
  {
  scanf("%d",&p[i][j]);
 }
}
 }
void output(int n,int p[N][N])
......

C++ÓëCµÄÇø±ð ±±º£

1£©  º¯ÊýÉùÃ÷
l         CÈç¹û²»Ð´·µ»ØÖµ£¬Ä¬ÈÏÊÇint£¬¶øC++Öв»Äܲ»Ð´·µ»ØÖµ(¿ÉÓÃvoid±íʾÎÞ·µ»ØÖµ)¡£
ÈçFunc1();
l         int Func1()ÔÚCÖбíʾ¿É´øÈÎÒâ²ÎÊýµÄº¯Êý£¬ÕâÊÇCµÄ©¶´£¬Ê¹µÃËü±Ü¿ªÁ˲ÎÊýÀàÐͼì²é£»¶øC++Öбíʾ²»´ ......

CÒÅÁôµÄ½á¹¹Ìø×ª ±±º£

1)          goto
goto Ö»ÄÜÔÚÒ»¸öº¯ÊýÄÚÌø×ª¡£½¨ÒéÉÙÓã¬Ê¹µÃ³ÌÐòά»¤ÆðÀ´ÈÝÒ׳ö´í£»µ«ÊÇ£¬ÔÚÓжà¸öÑ­»·Çé¿öÏÂÌø×ª£¬ÓÐʱÓÃgoto¿ÉÒÔʹµÃÎÊÌâ±äµÃ¼òµ¥¡£
class A
{
public:
A(){}
~A(){}
};
           &nbs ......

C/C++Í·ÎļþÒ»ÀÀ


C/C++
Í·ÎļþÒ»ÀÀ

//////////////////////////////////////////////////////////////////////////
C
Í·Îļþ
(C89,C95)
(C++98,C++03Ò²°üº¬)
include <assert.h>¡¡¡¡¡¡¡¡//Õï¶Ï¿â
include <ctype.h>¡¡¡¡¡¡¡¡ //×Ö·û´¦Àíº¯Êý¿â
include <errno.h>¡¡¡¡¡¡¡¡ //´íÎó¶¨Òå
include <float.h& ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ