C函数和C++函数相互调用

2014-11-24 02:42:06 · 作者: · 浏览: 1

test.c

[cpp]
int call_MyMath_sum (int,int);

int sum(inta , intb) {
return call_MyMath_sum(a,b);
}

int call_MyMath_sum (int,int);

int sum(inta , intb) {
return call_MyMath_sum(a,b);
}


main.cpp

[cpp]
#include
using namespace std;

extern"C" {
int sum(int, int);
}

class MyMath {
public:
static int sum(int, int);
};
intMyMath::sum(inta, intb) {
return(a + b);
}

extern"C" int call_MyMath_sum (inta , intb) {
return(MyMath::sum(a,b));
}

int main(void) {
cout< return0;
}

#include
using namespace std;

extern"C" {
int sum(int, int);
}

class MyMath {
public:
static int sum(int, int);
};
intMyMath::sum(inta, intb) {
return(a + b);
}

extern"C" int call_MyMath_sum (inta , intb) {
return(MyMath::sum(a,b));
}

int main(void) {
cout< return0;
}


Makefile

[cpp]
main.o:
g++ -c -o main.o main.cpp
test.o:
gcc -c -o test.o test.c
main: main.o test.o
g++ -o main main.o test.o
all: clean main
clean:
rm -f test.o main.o

main.o:
g++ -c -o main.o main.cpp
test.o:
gcc -c -o test.o test.c
main: main.o test.o
g++ -o main main.o test.o
all: clean main
clean:
rm -f test.o main.o