例如1:
//test.c
int fun(int a, int b)
{
returna+b;
}
//main.cpp
#include <stdio.h>
#include "test.c"
int main()
{
printf("%d\n", fun(10, 11));
return0;
}
命令:g++ -o main main.cpp 即可得到可执行文件
例如2:
//test.c
int fun(int a, int b)
{
returna+b;
}
//test.h
int fun(int, int);
//main.cpp
#include <stdio.h>
#include "test.h"
int main()
{
printf("%d\n", fun(10, 11));
return0;
}
编译方法:
g++ -c test.c //生成test.o
g++ -c main.cp //生成main.o
g++ -o maintest.o main.o //链接,生成main可执行文件
例如3:
//test.c
int fun(int a, int b)
{
returna+b;
}
//test.h
#ifdef __cplusplus
extern "C"{
#endif
int fun(int, int);
#ifdef __cplusplus
}
#endif
//main.cpp
#include <stdio.h>
#include "test.h"
int main()
{
printf("%d\n", fun(10, 11));
return0;
}
编译方法:
gcc -c test.c //生成test.o
g++ -c main.cpp //生成main.o
g++ -o main test.o main.o //链接,生成main可执行文件
例如4:
//test.c
int fun(int a, int b)
{
return a+b;
}
//test.h
int fun(int, int);
//main.cpp
#include <stdio.h>
extern "C"
{
#include "test.h"
}
int main()
{
printf("%d\n", fun(10, 11));
return0;
}
编译方法:
gcc -c test.c //生成test.o
g++ -c main.cpp //生成main.o
g++ -o main test.o main.o //链接,生成main可执行文件
例如5:
//test.c
int fun(int a, int b)
{
returna+b;
}
//test.h
int fun(int, int);
//main.cpp
#include <stdio.h>
extern "C" int fun(int, int)
int main()
{
printf("%d\n", fun(10, 11));
return0;
}
编译方法:
gcc -c test.c //生成test.o
g++ -c main.cpp //生成main.o
g++ -o main test.o main.o //链接,生成main可执行文件