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

extern ¡°C¡±Ó÷¨

ÓÃÒ»¾ä»°¸ÅÀ¨extern “C”Õâ¸öÉùÃ÷µÄÕæÊµÄ¿µÄ¾ÍÊÇʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡£
extern "C"µÄ¹ßÓ÷¨
£¨1£©ÔÚC++ÖÐÒýÓÃCÓïÑÔÖеĺ¯ÊýºÍ±äÁ¿£¬ÔÚ°üº¬CÓïÑÔÍ·Îļþ£¨¼ÙÉèΪcExample.h£©Ê±£¬Ðè½øÐÐÏÂÁд¦Àí£º
extern "C"
{
££i nclude "cExample.h"
}
¶øÔÚCÓïÑÔµÄÍ·ÎļþÖУ¬¶ÔÆäÍⲿº¯ÊýÖ»ÄÜÖ¸¶¨ÎªexternÀàÐÍ£¬CÓïÑÔÖв»Ö§³Öextern "C"ÉùÃ÷£¬ÔÚ.cÎļþÖаüº¬ÁËextern "C"ʱ»á³öÏÖ±àÒëÓï·¨´íÎó¡£
C++ÒýÓÃCº¯ÊýÀý×Ó¹¤³ÌÖаüº¬µÄÈý¸öÎļþµÄÔ´´úÂëÈçÏ£º
/* cÓïÑÔÍ·Îļþ£ºcExample.h */
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
extern int add(int x,int y);
#endif
/* cÓïÑÔʵÏÖÎļþ£ºcExample.c */
££i nclude "cExample.h"
int add( int x, int y )
{
return x + y;
}
// c++ʵÏÖÎļþ£¬µ÷ÓÃadd£ºcppFile.cpp
extern "C"
{
££i nclude "cExample.h"
}
int main(int argc, char* argv[])
{
add(2,3);
return 0;
}
Èç¹ûC++µ÷ÓÃÒ»¸öCÓïÑÔ±àдµÄ.DLLʱ£¬µ±°üÀ¨.DLLµÄÍ·Îļþ»òÉùÃ÷½Ó¿Úº¯Êýʱ£¬Ó¦¼Óextern "C" {¡¡}¡£
£¨2£©ÔÚCÖÐÒýÓÃC++ÓïÑÔÖеĺ¯ÊýºÍ±äÁ¿Ê±£¬C++µÄÍ·ÎļþÐèÌí¼Óextern "C"£¬µ«ÊÇÔÚCÓïÑÔÖв»ÄÜÖ±½ÓÒýÓÃÉùÃ÷ÁËextern "C"µÄ¸ÃÍ·Îļþ£¬Ó¦¸Ã½ö½«CÎļþÖн«C++Öж¨ÒåµÄextern "C"º¯ÊýÉùÃ÷ΪexternÀàÐÍ¡£
CÒýÓÃC++º¯ÊýÀý×Ó¹¤³ÌÖаüº¬µÄÈý¸öÎļþµÄÔ´´úÂëÈçÏ£º
//C++Í·Îļþ cppExample.h
#ifndef CPP_EXAMPLE_H
#define CPP_EXAMPLE_H
extern "C" int add( int x, int y );
#endif
//C++ʵÏÖÎļþ cppExample.cpp
££i nclude "cppExample.h"
int add( int x, int y )
{
return x + y;
}
/* CʵÏÖÎļþ cFile.c
/* ÕâÑù»á±àÒë³ö´í£º££i nclude "cExample.h" */
extern int add( int x, int y );
int main( int argc, char* argv[] )
{
add( 2, 3 );
return 0;
}


Ïà¹ØÎĵµ£º

ÔÚC++Öе÷ÓÃCдµÄº¯Êý£¨Ê¹ÓÃlex_yaccÓöµ½µÄÎÊÌâ)

ºÜÆæ¹Ö£¬ÒÔǰһֱÒÔΪC++ÊǼæÈÝCµÄ£¬µ«ÊÇ£¬½ñÌìÓÃlex&yaccÉú³ÉµÄC´úÂë¿ÉÓÃͨ¹ýGCCµÄ±àÒ룬
µ«ÊÇÔõô¶¼Í¨²»¹ýG++µÄ±àÒ룬¶øÆä´íÎóºÜ¶à£¬ÓпÉÄÜÊÇlex&yaccÉú³ÉµÄC´úÂëÌ«ÀÏÁË£¬£¬£¬
ÎÒÊÇÕâÑù½â¾öµÄ
°Ñlex&yaccÉú³ÉµÄ´úÂë Óà GCC -c ±àÒë³É lex.o µÄÄ¿±êÎļþ¡£È»ºó g++ main.cpp lex.o ,¾ÍOKÁË
¼ÇµÃ£º ÔÚ main. ......

[C] ±àÒëµÄѧϰºÍʵ¼ùÈÕÖ¾Îå[¿¼ÊÔ¹éÀ´»°ÕýÔò]

 µ±Ï¶¨¾öÐÄÈ¥×öÒ»¼þÊÂÇéµÄʱºò,¾ÍûÓÐʲô¿ÉÒÔ×èµ²ÎÒ£¡Æ©Èçȥ˯¾õ--! from ¡¶¾õÖ÷ÓA·
ÁîÎÒìþìý²»°²µÄ¸ßÊýѧλ֤¿¼ÊÔ¹ýÈ¥ÁË£¬½á¹û»¹ÊÇÂúÒâµÄ¡£ËäÈ»»¨ÁË3ÖܵÄʱ¼äÈ¥×¼±¸¸´Ï°Êýѧ£¬µ«ÊÇÎÒÈ´·¢ÏÖ£¬ÕæÕýȥѧϰµÄʱºòÖ»ÓÐ×îºóÄÇÁ½Ì죬ÒÔÍùµÄʱ¼äÈ«ÊÇÀ˷ѵôÁË¡£ËìÃ÷
°×£¬ÎªÊ²Ã´Í¬Ò»ÖÖ»·¾³ÏµÄÈË£¬ÓеijÉÁËÌì²Å£¬ÓеÄÂÙÎ ......

LinuxÏÂÓÃCÓïÑÔAPIÁ¬½ÓMySQLÊý¾Ý¿â

 ÏñPHPºÍperlÒ»Ñù£¬MySQLÒ²ÌṩµÄCÓïÑÔʹÓõÄAPI. C´úÂëµÄAPIÊÇËæMySQLÒ»Æð·¢²¼µÄ¡£ Ëü°üº¬ÔÚmysqlclient¿âÖУ¬ ¿ÉÒÔʹC³ÌÐòÀ´·ÃÎÊÊý¾Ý¿â¡£
    MySQLÔ´Âë°üÖеÄÐí¶à¿Í»§¶Ë¶¼ÊÇÓÃCдµÄ¡£ Èç¹ûÄãÕýÔÚÕÒʹÓÃÕâЩC APIµÄÀý×Ó£¬ ¿ÉÒÔ¿´¿´¿Í»§¶ËµÄд·¨¡£Äã¿ÉÒÔÔÚMySQLÔ´Âë°üµÄclientsĿ¼ÕÒµ½ÕâЩÀý×Ó¡£
& ......

ÓÃC/C£«£«Ð´CGI³ÌÐò

 ÓÃC/C£«£«Ð´CGI³ÌÐò
    ʹÓÃCGIC¿âµÄ¼òÒª£º
    ¿âµÄº¯Êý˵Ã÷£º http://www.boutell.com/cgic/#cgiFormStringNoNewlines
    1. ´òÓ¡CGI±ê×¼Êä³öÍ·²¿£º
    cgiHeaderContentType£¨"text/plain"£©£»
    »òÕߣº
  ......

Hacks in C Programming Language

 ÏÂÃæÕâ¸ö³ÌÐòÊä³öʲô£¿
enum {false,true};
int main()
{
int i=1;
do
{
printf("%d\n",i);
i++;
if(i < 15)
continue;
}while(false);
return 0;
}

ÄãÏàÐÅô£¿Ï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ