c++和c混合编程
当你还是一只猫的时候,记着你的目标要成为一只虎。当你成为一只虎的时候,别忘了你曾经是一只猫。心态要高,姿态要低。不要看轻别人,更不要高估自己。
案例集成环境:
fun.c
#include<stdio.h>
int my_add(int x,int y)
{
return x+y;
}
int my_sub(int x,int y)
{
return x-y;
}
fun.h
#if __cplusplus
extern “C”{
#ifndef FUN_H
#define FUN_H
#if __cplusplus
extern "C"{
#endif
extern int my_add(int x,int y);//C语言形式的声明
extern int my_sub(int x,int y);//需要这样声明(在集成环境中)
#if __cplusplus
}
#endif
#endif // FUN_H
main.cpp
#include <iostream>
#include"fun.h"
using namespace std;
int main(int argc, char *argv[])
{
cout<<my_add(100,200)<<endl;
cout<<my_sub(100,200)<<endl;
return 0;
}
Linux下
main.cpp fun.c fun.h
混合编译步骤:
gcc -c fun.c -o fun.o
g++ main.cpp fun.o -o main