name.cpp 

文件中封装一个 c函数如: extern "C" const char*  get_my_name();  关键对于 extern "C" 声明. 加上 extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译, 这样不会有链接错误.

#include <string>
using namespace std;extern "C" const char*  get_my_name();class MyObj {
public:const char* get_name() {return "david";}
};const char* get_my_name() {MyObj obj;return obj.get_name();
}

对于需要调用的c 文件中 直接 extern 声明,和普通 .c文件中定义的函数一样.

extern  const char* get_my_name();int main(int argc, char** argv) {av_log(NULL, AV_LOG_INFO, "%s\n", get_my_name());
}

这里是改了 ffmpeg源码测试:

执行 生成, 可以看到 david 政策输出.

c 文件中调用 cpp 中函数相关推荐

  1. Js文件中调用其它Js函数的方法(转)

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  2. Js文件中调用其它Js函数的方法

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  3. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...

  4. 天马行空W:在C++中调用DLL中的函数

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  5. 在C++中调用DLL中的函数

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  6. 如何将matlab代码转为C语言(2)--在C++中调用matlab的函数

    如何将matlab代码转为C语言(2)–在C++中调用matlab的函数 在上一条博文中提供了一种直接在matlab操作中的方法,下面提供一种新的调用方法,即在C++中调用matlab中的dll文件. ...

  7. 在C#中调用windows API函数

    Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用Windows ...

  8. 调用c++_WebAssembly: 在C代码中调用JS的函数

    0. 前提知识点 导出C中的函数给JS调用:主要是EMSCRIPTEN_KEEPALIVE这个Emscripten环境特有的宏. #include <stdio.h>#ifndef EM_ ...

  9. f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码

    f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...

  10. Lua中调用C/C++函数 (转)

    1.前言 上次偶说到从C/C++中调用Lua的函数, 然后就有朋友问从Lua中如何调用C/C++的 函数, 所以偶们这次就来说说这个问题. 首先偶们会在C++中建立一个函数, 然后 告知Lua有这个函 ...

最新文章

  1. 【结果很简单,过程很艰辛】记阿里云Ons消息队列服务.NET接口填坑过程
  2. python函数基础和装饰器
  3. 不要随意重装你的操作系统
  4. jQuery插件开发全解析
  5. 服务中没有listen_Go语言微服务框架实战:2.Go语言实现RPC编程绍
  6. python sanic加速_python微服务sanic 使用异步zipkin(2) - 一步步创建Sanic插件: sanic-zipin...
  7. CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE
  8. Spring Boot集成CKFinder
  9. camera.swf java_java调用摄像头保存图片上传功能
  10. Node.js 得到当前目录下文件修改文件名
  11. 用VC写Assembly代码(5) --循环的使用(一)
  12. php 规则配置,模块Config配置规则
  13. 大数据基础知识问答----hadoop篇
  14. java的argv_Java:使用org.apache.commons.cli解析传入参数args,该包会协助解析argv参数...
  15. wincc报表日报表实例_wincc报表例程
  16. qconshanghai2017
  17. rabbitMq设置多线程并设置线程池消费处理
  18. 投稿经验分享之四:SCI投稿之JEI录用
  19. 免费获取百度网盘会员一天的不限速网盘会员
  20. [Python从零到壹] 三十三.图像处理基础篇之什么是图像处理和OpenCV配置

热门文章

  1. python核心教程:min函数和max函数用法
  2. CentOS 7 搭建邮件服务器搭建(postfix+dovecot)
  3. 嵌入式arm(一)学ARM要掌握的预备知识(本篇文章持续更新)
  4. 2022 AI趋势8大预测
  5. 万娟 白话大数据和机械学习_白话大数据与机器学习 (高扬著) 带书签目录 完整pdf扫描版[71MB]...
  6. 百度Java后端实习面试
  7. 恶意程序分析之数字签名验证系统的探究
  8. 成功背后(敬所有IT人)
  9. 用户输入错误验证码错误三次后,锁定该用户3分钟 redis 使用案列
  10. Python制作表白爱心合集