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

extern c×÷ÓÃ

Á´½Óָʾ·ûextern C
Èç¹û³ÌÐòԱϣÍûµ÷ÓÃÆäËû³ÌÐòÉè¼ÆÓïÑÔÓÈÆäÊÇC дµÄº¯ÊýÄÇôµ÷Óú¯Êýʱ±ØÐë
¸æËß±àÒëÆ÷ʹÓò»Í¬µÄÒªÇóÀýÈçµ±ÕâÑùµÄº¯Êý±»µ÷ÓÃʱº¯ÊýÃû»ò²ÎÊýÅÅÁеÄ˳Ðò¿ÉÄÜ
²»Í¬ÎÞÂÛÊÇC++º¯Êýµ÷ÓÃËü»¹ÊÇÓÃÆäËûÓïÑÔдµÄº¯Êýµ÷ÓÃËü
³ÌÐòÔ±ÓÃÁ´½Óָʾ·ûlinkage directive ¸æËß±àÒëÆ÷¸Ãº¯ÊýÊÇÓÃÆäËûµÄ³ÌÐòÉè¼ÆÓïÑÔ
±àдµÄÁ´½Óָʾ·ûÓÐÁ½ÖÖÐÎʽ¼È¿ÉÒÔÊǵ¥Ò»Óï¾äsingle statement ÐÎʽҲ¿ÉÒÔÊǸ´
ºÏÓï¾äcompound statement ÐÎʽ
// µ¥Ò»Óï¾äÐÎʽµÄÁ´½Óָʾ·û
extern "C" void exit(int);
// ¸´ºÏÓï¾äÐÎʽµÄÁ´½Óָʾ·û
extern "C" {
int printf( const char* ... );
int scanf( const char* ... );
}
// ¸´ºÏÓï¾äÐÎʽµÄÁ´½Óָʾ·û
extern "C" {
#include <cmath>
}
Á´½Óָʾ·ûµÄµÚÒ»ÖÖÐÎʽÓɹؼü×Öextern ºó¸úÒ»¸ö×Ö·û´®³£Á¿ÒÔ¼°Ò»¸öÆÕͨµÄº¯Êý
ÉùÃ÷¹¹³ÉËäÈ»º¯ÊýÊÇÓÃÁíÍâÒ»ÖÖÓïÑÔ±àдµÄµ«µ÷ÓÃËüÈÔÈ»ÐèÒªÀàÐͼì²éÀýÈç±àÒëÆ÷
»á¼ì²é´«µÝ¸øº¯Êýexit()µÄʵ²ÎµÄÀàÐÍÊÇ·ñÊÇint »òÕßÄܹ»ÒþʽµØ×ª»»³Éint ÐÍ
¶à¸öº¯ÊýÉùÃ÷¿ÉÒÔÓû¨À¨ºÅ°üº¬ÔÚÁ´½Óָʾ·û¸´ºÏÓï¾äÖÐÕâÊÇÁ´½Óָʾ·ûµÄµÚ¶þÖÖÐÎ
ʽ»¨Õкű»ÓÃ×÷·Ö¸î·û±íʾÁ´½Óָʾ·ûÓ¦ÓÃÔÚÄÄЩÉùÃ÷ÉÏÔÚÆäËûÒâÒåÉϸû¨À¨ºÅ±»ºö
ÂÔËùÒÔÔÚ»¨À¨ºÅÖÐÉùÃ÷µÄº¯ÊýÃû¶ÔÍâÊǿɼûµÄ¾ÍºÃÏñº¯ÊýÊÇÔÚ¸´ºÏÓï¾äÍâÉùÃ÷µÄÒ»Ñù
ÀýÈçÔÚÇ°ÃæµÄÀý×ÓÖи´ºÏÓï¾äextern "C"±íʾº¯Êýprintf()ºÍscanf()ÊÇÔÚC ÓïÑÔÖÐдµÄ
º¯ÊýÒò´ËÕâ¸öÉùÃ÷µÄÒâÒå¾ÍÈçͬprintf()ºÍscanf()ÊÇÔÚextern "C"¸´ºÏÓï¾äÍâÃæÉùÃ÷µÄ
Ò»Ñù
µ±¸´ºÏÓï¾äÁ´½Óָʾ·ûµÄÀ¨ºÅÖк¬ÓÐ#include ʱÔÚÍ·ÎļþÖеĺ¯ÊýÉùÃ÷¶¼±»¼Ù¶¨ÊÇÓÃ
Á´½Óָʾ·ûµÄ³ÌÐòÉè¼ÆÓïÑÔËùдµÄÔÚÇ°ÃæµÄÀý×ÓÖÐÔÚÍ·Îļþ<cmath>ÖÐÉùÃ÷µÄº¯Êý¶¼ÊÇC
º¯Êý
Á´½Óָʾ·û²»ÄܳöÏÖÔÚº¯ÊýÌåÖÐÏÂÁдúÂë¶Î½«»áµ¼Ö±àÒë´íÎó
int main()
{
// ´íÎó: Á´½Óָʾ·û²»ÄܳöÏÖÔÚº¯ÊýÄÚ
extern "C" double sqrt( double );
305 µÚÆßÕº¯Êý
double getValue(); //ok
double result = sqrt ( getValue() );
//...
return 0;
}
Èç¹û°ÑÁ´½Óָʾ·ûÒÆµ½º¯ÊýÌåÍâ³ÌÐò±àÒ뽫ÎÞ´íÎó
extern "C" double sqrt( double );
int main()
{
double getValue(); //ok
double result = sqrt ( getValue() );
//...
return 0;
}
µ«ÊǰÑÁ´½Óָʾ·û·ÅÔÚÍ·ÎļþÖиüºÏÊÊÔÚÄÇÀﺯÊýÉùÃ÷ÃèÊöÁ˺¯ÊýµÄ½Ó¿ÚËùÊô
Èç¹ûÎÒÃÇÏ£ÍûC++º¯ÊýÄ


Ïà¹ØÎĵµ£º

MISRA C £ºÈÃǶÈëʽϵͳ¸ü¼Ó°²È«¿É¿¿µÄһЩ¹Ø¼ü¹æÔò

ת×Ô£ºhttp://www.bmrtech.com/article/2008/081126.htm
    ûÈËÄÜ·ñÈÏǶÈëʽӦÓÃÕý±äµÃÔ½À´Ô½ÆÕ±é¡£µ«ÊÇ£¬µ±ÏµÍ³Ô½À´Ô½¸´ÔÓ£¬¶øÎÒÃǸ³ÓèϵͳԽÀ´Ô½¶àµÄÔðÈεÄʱºò£¬ÎÒÃǽ«±ØÐëÃæ¶ÔÒ»Ð©ÖØÒªÎÊÌâ¡£ÆäÖÐ×îÖØÒªµÄÎÊÌâÊÇ£ºÎÒÃÇÈçºÎ²ÅÄÜÈ·±£Ç¶ÈëʽϵͳÊǰ²È«¿É¿¿µÄ£¿
C ±à³ÌÓïÑÔΪÓû§ÌṩÁËÐí¶àÇ¿´óµÄ¹¦ÄÜ£¬¼ ......

PCÖ®¸¸C. ThackerÈÙ»ñ2009ÄêͼÁé½±


¸ù¾ÝACM¹Ù·½ÍøÕ¾3ÔÂ9ÈÕ·¢²¼µÄÏûÏ¢£¬2009ÄêͼÁé½±ÊÚÓèÁËÏÖ´úPCÖ®¸¸Charles Thacker£¬ÒÔ±íÕÃËû¶ÔµÚһ̨ÏÖ´ú¸öÈ˼ÆËã»úXerox PARC AltoµÄÏÈÇýÐÔÉè¼ÆÓëʵÏÖ£¬»¹ÓÐÔÚ¾ÖÓòÍø£¨°üÀ¨ÒÔÌ«Íø£©¡¢¶à´¦ÀíÆ÷¹¤×÷Õ¾¡¢¿ú̽¸ßËÙ»º´æÒ»ÖÂÐÔЭÒéºÍƽ°åPCµÈ·½ÃæµÄÖØ´ó·¢Ã÷ºÍ¹±Ï×£¨For the pioneering design andРrealization of the fi ......

CºÍC++ÓïÑÔѧϰ×ܽá(Ò»)

CºÍC++ÓïÑÔѧϰ×ܽá(Ò»)
֪ʶ½á¹¹:
1¡¢if,for,switch,goto
2¡¢#define,const
3¡¢Îļþ¿½±´µÄ´úÂë,¶¯Ì¬Éú³ÉÄÚ´æ,¸´ºÏ±í´ïʽ,strcpy,memcpy,sizeof
4¡¢º¯Êý²ÎÊý´«µÝ,ÄÚ´æ·ÖÅ䷽ʽ,ÄÚ´æ´íÎó±íÏÖ,mallocÓënewÇø±ð
5¡¢ÀàÖØÔØ¡¢Òþ²ØÓ븲¸ÇÇø±ð,externÎÊÌâ,º¯Êý²ÎÊýµÄȱʡ
ÖµÎÊÌâ,ºê´úÂëÓëÄÚÁªº¯ÊýÇø±ð
6¡¢¹¹ÔìºÍÎö¹ ......

UVa 327 Evaluating Simple C Expressions

/*
coder: ACboy
date: 2010-3-14
result: 1A
description: UVa 327 Evaluating Simple C Expressions
*/
#include <iostream>
#include <algorithm>
using namespace std;
struct Node {
char name;
int value;
int lastValue;
int pos;
};
int cmp(const Node & a, const Node &a ......

C/C++ʱ¼äº¯ÊýµÄʹÓÃ

Ò»¡¢»ñÈ¡ÈÕÀúʱ¼ä
time_tÊǶ¨ÒåÔÚtime.hÖеÄÒ»¸öÀàÐÍ£¬±íʾһ¸öÈÕÀúʱ¼ä£¬Ò²¾ÍÊÇ´Ó1970Äê1ÔÂ1ÈÕ0ʱ0·Ö0Ãëµ½´ËʱµÄÃëÊý£¬Ô­ÐÍÊÇ£º
 typedef long time_t;        /* time value */
¿ÉÒÔ¿´³ötime_tÆäʵÊÇÒ»¸ö³¤ÕûÐÍ£¬ÓÉÓÚ³¤ÕûÐÍÄܱíʾµÄÊýÖµÓÐÏÞ£¬Òò´ËËüÄܱíʾµÄ×î³Ùʱ¼äÊÇ2038Äê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ