一、制作C++库
cppadd.hpp文件内容
ifndef __CPPADD_HPP__
#define __CPPADD_HPP__
int add(int a, intb);
#endif
cppadd.cpp文件内容
include<cppadd.hpp>
int add(int a,int b)
{
return a+b;
}
#制作C++库·
gcc -c cppadd.cpp -o cppadd.o
ar -r libcppadd.a cppadd.o
二、封装C++库
cppadder.hpp文件内容
ifndef __CPPADDER_HPP__
#define __CPPADDER_HPP__
ifdef __cplusplus
extern "c"
{
endif
int addwrapper(int a, intb);
#ifdef __cplusplus
}
endif
#endif
cppadder.cpp文件内容
#include<cppadder.hpp>
#include<cppadd.hpp>
int addwrapper(int a, intb)
{
add(a,b);
}
cppaddwrapper.hpp文件内容
#ifdef __CPPADDWRAPPER_HPP
#define __CPPADDWRAPPER_HPP
#ifdef __cplusplus
extern "C"
{
#endif
int addwrapper(int a, intb);
#ifdef __cplusplus
}
endif
#endif
cppaddwrapper.cpp文件内容
#include"cppaddwrapper.hpp"
int addwrapper(int a, intb);
{
add(a,b);
}
text.c文件内容
#include"cppaddwrapper.hpp"
int main(void)
{
int x = 4,y = 6;
addwrappe(x,y);
return 0;
}
封装命令
g++ cppaddwrapper.cpp -c -o cppaddwrapper.o -lcppadd -L.
ar -r cppaddwrapper.a cppaddwrapper.o
g++ text.c -lcppaddwrappe -lcppadd -L.