码迷,mamicode.com
首页 > 编程语言 > 详细

linux下 c语言调用c++

时间:2019-03-03 09:35:34      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:define   编译   定义   接口   size   动态库   efi   end   .cpp   


//定义c++ class 头文件
#ifndef REGEX_H
#define REGEX_H class Regex { public: Regex(); int add(int a,int b); }; #endif // REGEX_H
// class 头文件
#include "regex.h" Regex::Regex() { } int Regex::add(int a,int b){ return (a+b)*10; }

//test.h 文件
//对c语言提供对外按c语言编译的接口

#ifndef TEST_H
#define TEST_H #ifdef __cplusplus extern "C" { #endif int test(int a,int b); #ifdef __cplusplus } #endif #endif // TEST_H


//test.cpp
//对外接口实现  

#include "test.h" #include"regex.h" #ifdef __cplusplus extern "C"{ #endif int test(int a,int b) { Regex regex; return regex.add(a,b); } #ifdef __cplusplus } #endif
//以上c++ 四个文件 编译成静态库或者动态库
//gcc main.c -om -Iinclude -Laddr -llibname
//C 语言测试文件

#include<stdio.h> #include"./regex/test.h" int main(){ int res=test(10,20); printf("res=%d\n",res); }

 

 

 

 

linux下 c语言调用c++

标签:define   编译   定义   接口   size   动态库   efi   end   .cpp   

原文地址:https://www.cnblogs.com/libing029/p/10463866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!