extern "C"
Èç¹ûC++µ÷ÓÃÒ»¸öCÓïÑÔ±àдµÄ.DLLʱ£¬µ±°üÀ¨.DLLµÄÍ·Îļþ»òÉùÃ÷½Ó¿Úº¯Êýʱ£¬Ó¦¼Óextern "C" {¡¡}¡£
È磺
Í·ÎļþcExample.h
#include <stdio.h>
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
int add(int x,int y);
#endif
º¯ÊýʵÏÖÎļþcExample.c(×¢ÒâÊÇ.cÎļþ)
#include<stdio.h>
#include "cExample.h"
int add(int x,int y)
{
return x+y;
}
mainÎļþcppFile.cpp
#include<iostream>
using namespace std;
extern "C" //ÓÉÓÚµ÷ÓõÄÊÇCÍ·Îļþ£¬¹ÊÒª¼Óextern "C"
{
#include "cExample.h"
}
void main()
{
cout<<add(2,3)<<endl;
}
========================================================
Èôµ÷ÓõÄÊÇC++Í·ÎļþÔò²»ÐèÒªÕâÑùд(ÈçʵÏÖÎļþΪcExample.cpp)¡£ÔòÖ»Ðèд³É£º
mainÎļþcppFile.cpp
#include<iostream>
using namespace std;
#include "cExample.h"
void main()
{
cout<<add(2,3)<<endl;
}
=========================================================
ÔÚÍ·ÎļþÖУ¬Ò»°ã¶ÔÍⲿʹÓõĺ¯ÊýºÍ±äÁ¿¼Óextern±êʶ£¬Æäʵº¯ÊýĬÈÏÊÇexternµÄ£¬¿ÉÒÔ²»¼Ó¡£µ«±äÁ¿±ØÐë¼Ó¡£
Èç¹ûҪʹÓÃÍⲿԴÎļþÖж¨ÒåµÄ±äÁ¿£¬ÔòÔÚ±¾Ô´ÎļþÖÐÒªÓÃexternÉêÃ÷һϣ¬ËµÃ÷´Ë±äÁ¿ÊÇÔÚÍⲿ¶¨ÒåµÄ¡£
Ïà¹ØÎĵµ£º
[CϵÁÐ]C++³ÌÐòÔ±µÍÊÖóðÑÔ1
±à³ÌÒѾ3ÄêÁË
ÎÒʱ³£¾õµÃ£¬ Èç¹û3ÄêǰµÄÎÒÓÉÏÖÔÚµÄÎÒÀ´Ö¸µãµÄ»°£¬Ó¦¸ÃÓÃ3Ìì¾Í¿ÉÒÔ³öʦÁË¡£
ÎÒµÄÕâÆªÎÄÕ¾ÍÊdzåÕâ¸öÄ¿µÄÀ´µÄ¡£ÔÚ½ÓÏÂÀ´Ô¶Ô¶ÉÙÓÚ3ÌìµÄƪ·ùÖУ¬ÎÒ½«´øÁì¶ÁÕß´Ó²ËÄñÒ»Ö±½úÉýµ½COM(ÒòΪÎÒ×Ô¼ºÒ²Ö»»áÕâô¶àÁË)£¬³õѧÕß¶ÁÍêºó£¬Ó¦µ±Ð¡ÓÐËù³É£¬»ù±¾ÉÏÄÜʤÈÎͨ³£¸÷ÖÖСIT¹«Ë¾µÄ³£¹æ¿ª· ......
ɨÃè½á¹û
----------------------
C:\Documents and Settings\ibmuser\Local Settings\Application Data\S-1-5-31-1286970278978-5713669491-166975984-320\Rotinom\RECYCLER.exe È䳿²¡¶¾(Worm.Generic.221028) ÒÑɾ³ý
C:\Documents and Settings\ibmuser\Local Settings\Application Data\S-1-5-31-12869702 ......
¹þ¹þ£¡ÓÐÐÒÔÚÄ³ÍøÕ¾·¢ÏÖÕâÆªÎÄÕ£¬¶Á°Õ£¬¾õµÃÂùÓеÀÀí£¬·¢À´´ó¼ÒÒ»Æð¹²ÃãÖ®
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû ......
main.c
//³õʼ»¯¶ÓÁÐ
void InitQueue(LiQueue *q)
{
q=(LiQueue*)malloc(sizeof(LiQueue));
q->front=q->rear=NULL;
}
//ÅжÏÊÇ·ñΪ¿Õ
int QueueEmpty(LiQueue *q)
{
if(q->rear==NULL)
{
return 1;
}
else
{
......
ʲôÊÇ¿ÕÖ¸Õë³£Á¿£¨null pointer constant£©?
[6.3.2.3-3] An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.
ÕâÀï¸æËßÎÒÃÇ£º0¡¢0L¡¢'\0'¡¢3 - 3¡¢0 * 17 £¨ËüÃǶ¼ÊÇ“integer constant expression”£©ÒÔ¼° (void*)0 µÈ¶¼ÊÇ¿Õ ......