c调用c++函数
- c调用c++普通函数
#ifndef CPP_H
#define CPP_H
#include "extern_cpp.h"
int add(int a, int b);
char add(char a, char b);
#endif // CPP_H
cpp_test/extern_cpp.h
#ifndef EXTERN_CPP_H
#define EXTERN_CPP_H
#ifdef __cplusplus
extern "C"
{
#endif
int add_int(int a, int b);
char add_char(char a, char b);
#ifdef __cplusplus
}
#endif
#endif // EXTERN_CPP_H
#include "cpp.h"
#include <iostream>
int add(int a, int b)
{
std::cout << "int a+b=" << a+b << std::endl;
return a+b;
}
char add(char a, char b)
{
std::cout << "char a+b=" << a+b << std::endl;
return a+b;
}
int add_int(int a, int b)
{
return add(a,b);
}
char add_char(char a, char b)
{
return add(a,b);
}
c_test/main.c
#include <stdio.h>
#include "../cpp_test/extern_cpp.h"
int main(int argc, char *argv[], char *env[])
{
printf("%d\n", add_int(2,3));
printf("%c\n", add_char(20, 30));
return 0;
}
编译 g++ -c cpp.cpp
- c调用c++类函数
#ifndef CPP_H
#define CPP_H
#include "extern_cpp.h"
struct example
{
public:
example(void);
example(int i, int j);
~example(void);
int add(void);
int a,b;
};
#endif // CPP_H
cpp_test/extern_cpp.h
#ifndef EXTERN_CPP_H
#define EXTERN_CPP_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct example example;
example* exmaple_create(int a, int b);
void example_delete(example* e);
int example_add(example* e);
#ifdef __cplusplus
}
#endif
#endif // EXTERN_CPP_H
#include "cpp.h"
#include <iostream>
example::example(void){}
example::example(int i, int j):a(i),b(j){}
example::~example(void){}
int example::add(void)
{
std::cout << "a+b=" << a+b << std::endl;
return a+b;
}
example* exmaple_create(int a, int b)
{
return new example(a, b);
}
void example_delete(example* e)
{
delete e;
}
int example_add(example* e)
{
return e->add();
}
c_test/main.c
#include <stdio.h>
#include "../cpp_test/extern_cpp.h"
int main(int argc, char *argv[], char *env[])
{
example *e = exmaple_create(2, 3);
printf("%d\n", example_add(e));
example_delete(e);
return 0;
}
gcc main.c ../cpp_test/cpp.o -lstdc++

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
HTML5语法
HTML编码惯例 Web开发人员在使用HTML时,往往有不确定的编码风格和语法. 2000和2010之间,许多Web开发人员从HTML转换到XHTML. 在XHTML中,开发人员被迫写出有效的和结构良好的代码. HTML5说到的代码验证有点儿马虎. 聪明和未来的证明 一个一贯使用的风格,让别人了解你的HTML更容易. 在未来,如XML阅读器,可以阅读你的HTML. 使用形式好的更“接近XHTML的”语法,可以更聪明. 始终保持您的代码整洁,干净,并形成良好. 使用正确的文档类型 始终将文档类型声明为文档中的第一行: <!DOCTYPE html> 如果你想私有小写标签,您可以使用: <!doctype html> 使用小写的元素名称 HTML5允许混合大写和小写字母的元素名称. 我们建议使用小写元素名称,因为: 混合大写和小写的名字是不好的 开发者通常使用小写名称 (像在XHTML里面一样) 小写字母看起来更干净 小写更容易写 不好的: <SECTION> <p>这是一个段落.</p> </SECTION> 非常不...
-
下一篇
我爬取了人人都是产品经理6574篇文章,发现产品竟然在看这些
作为互联网界的两个对立的物种,产品汪与程序猿似乎就像一对天生的死对头;但是在产品开发链条上紧密合作的双方,只有通力合作,才能更好地推动项目发展。那么产品经理平日里面都在看那些文章呢?我们程序猿该如何投其所好呢?我爬取了人人都是产品经理(http://www.woshipm.com)产品经理栏目下的所有文章,看看产品经理都喜欢看什么。 1. 分析背景 1.1. 为什么选择「人人都是产品经理」 人人都是产品经理是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、招聘、社群为一体,全方位服务产品人和运营人,成立8年举办在线讲座500+期,线下分享会300+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监。选取这个社区更有代表性。 1.2. 分析内容 分析人人都是产品经理产品经理栏目下的 6574 篇文章的基本情况,包括收藏数、评论数、点赞数等 发掘最受欢迎的文章及作者 分析文章标题长度与受欢迎程度之间的关系 展现产品经理都在看什么 1.3. 分析工具 P...
相关文章
文章评论
共有0条评论来说两句吧...