天天看點

C++ 調C C調c++

一、c++ 調C:

#ifndef C_EXAMPLE_H

#define C_EXAMPLE_H

#ifdef __cplusplus

extern "C"

{

#endif

int add(int x,int y);

#ifdef __cplusplus

}

#endif

#endif

#include "cExample.h"

int add( int x, int y )

{

 return x + y;

}

// main.cpp

#include <iostream>

using namespace std;

// c++實作檔案,調用add()

#include "cExample.h"

int main(int argc, char* argv[])

{

 cout << add(2,3) << endl;

 return 0;

}

二、C調C++

//C++頭檔案 cppExample.h

#ifndef CPP_EXAMPLE_H

#define CPP_EXAMPLE_H

#ifdef __cplusplus

extern "C"

{

#endif

 int add(int x,int y);

#ifdef __cplusplus

}

#endif

#endif

//C++實作檔案 cppExample.cpp

#include "cppExample.h"

int add( int x, int y )

{

return x + y;

}

#include <stdio.h>

#include "cppExample.h"

int main( int argc, char* argv[] )

{

  printf ("%d/n", add( 2, 3 ));

 return 0;

}