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ÉêÃ÷һϣ¬ËµÃ÷´Ë±äÁ¿ÊÇÔÚÍⲿ¶¨ÒåµÄ¡£
Ïà¹ØÎĵµ£º
1.´ò¿ª¡°ÎҵĵçÄÔ¡±-¡°¹¤¾ß¡±-¡°Îļþ¼ÐÑ¡Ï-¡°²é¿´¡±-ÔÚ¡°ÏÔʾËùÓÐÎļþºÍÎļþ¼Ð¡±Ñ¡Ïîǰ´ò¹´-¡°È·¶¨¡±
2.ɾ³ýÒÔÏÂÎļþ¼ÐÖеÄÄÚÈÝ£º
x:\Documents and Settings\Óû§Ãû\Cookies\ϵÄËùÓÐÎļþ(±£ÁôindexÎļþ)
x:\Documents and Settings\Óû§Ãû\Local Settings\Temp\ϵÄËùÓÐÎļþ(Óû§ÁÙʱÎļþ)
x:\ ......
/***
*strtok.c - tokenize a string with given delimiters
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines strtok() - breaks string into series of token
* via repeated calls.
*
************************************************************** ......
1. ×Ö·û´®²Ù×÷º¯Êý
³ÌÐò°´¹¦ÄÜ»®·Ö¿É·ÖΪÊýÖµÔËËã¡¢·ûºÅ´¦ÀíºÍI/O²Ù×÷ÈýÀ࣬·ûºÅ´¦Àí³ÌÐòÕ¼Ï൱´óµÄ±ÈÀý£¬·ûºÅ´¦Àí³ÌÐòÎÞ´¦²»ÔÚ£¬±àÒëÆ÷¡¢ä¯ÀÀÆ÷¡¢OfficeÌ×¼þµÈ³ÌÐòµÄÖ÷Òª¹¦Äܶ¼ÊÇ·ûºÅ´¦Àí¡£ÎÞÂ۶ิÔӵķûºÅ´¦Àí¶¼ÊÇÓɸ÷ÖÖ»ù±¾µÄ×Ö·û´®²Ù×÷×é³ÉµÄ£¬±¾½Ú½éÉÜÈçºÎÓÃCÓïÑԵĿ⺯Êý×ö×Ö·û´®³õʼ»¯¡¢È¡³¤¶È¡¢¿½±´¡¢Á¬½ ......
ʲôÊÇ¿ÕÖ¸Õë³£Á¿£¨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 µÈ¶¼ÊÇ¿Õ ......
1£ºÀàËÆjunitµÄ¶ÏÑÔ£¬Ö»ÊÇÔÚassertÖеĶÏÑÔ£¬Èç¹û²»Âú×ãµÄ»°¾Í³ÌÐòÍ˳ö¡£
±ÈÈç
#include <assert.h>
int main(void)
{
assert(6 < 5);
system("pause");
return 0;
}
ÔÚÖ´Ðе½assert(6 < 5);
µÄʱºòÒòΪ²»Âú×ã¶ÏÑÔ£¬ÓÚÊdzÌÐòÍ˳ö¡£
Èç¹û²»ÏëÈÃassert(6 < 5)Æð×÷Ó㬾ÍÔÚ×îÉÏÃæÌí¼Óºê¶¨Òå# ......