相比于C语言中函数可以直接调用,CPP的函数由于命名存在隐式添加,因此需要通过一套流程才能调用:

1. 编码中,使用extern "C" 定义一个C函数,返回获取对象的指针;执行该函数时,获得一个地址,例如0x496a9784,为该对象指针。

example: extern "C" CxxxxFpgaDrv *GetxxxxICDrv(void)

2. 找到函数所在的cpp文件,它会编译成同名的.o文件;将nm xxx.o > xxx.s, 获取文件各函数的符号表。

example:

_ZN14COxxxxFpgaDrv10InitializeEv

_ZN14CxxxxFpgaDrv21ResetIngGatherScatterEv
_ZN14CxxxxFpgaDrv14ResetIngBufMgrEv
_ZN14CxxxxFpgaDrv14ResetPPIngPathEv

_ZN14CxxxxFpgaDrv20ResetEgGatherScatterEv
_ZN14CxxxxFpgaDrv13ResetPPEgPathEv
_ZN14CxxxxFpgaDrv13ResetEgBufMgrEv

3. 使用 _ZN14COxxxxFpgaDrv10InitializeEv(0x496a9784)的方式来调用,即执行了该对象下的Initialize()函数。

转载于:https://www.cnblogs.com/atoman/p/6371372.html

CPP函数调用的方法相关推荐

  1. 函数调用的方法一共有 4 种,call,apply,bind

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  2. 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )

    文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...

  3. [小程序云开发]security.mediaCheckAsync内容(图片视频语音)安全审核,云函数调用API方法

    设计用户自行发布的图片.视频以及语音,都需要接入内容审核功能 由于目前我只用了图片审核这一项,今天就给大家分析security.mediaCheckAsync有关图片内容的云函数调用API方法 微信开 ...

  4. js中的4种函数调用模式:函数调用、方法调用、构造器调用、间接调用

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 js中的4种函数调用模式 javascript一共有4种调用模式:函数调用模式.方法调用模式.构造器调用模式和间接调用模式. ...

  5. jupyter notebook 出现Bad file descriptor (C:\ci\zeromq_1602704446950\work\src\epoll.cpp:100)解决方法

    用pycharm运行jupyter notebook时候,创建ipynb文件没有几分钟就开始报错,搜索以后说是我的weindows用户是中文名导致的,然后换成了中文名后,还是报错.用下面方法解决. * ...

  6. Qt 生成 ui 对应的 h 文件和 cpp 文件的方法

    2018-04-04 创建人:Ruo_Xiao 开发环境:Qt 5.2.1 邮箱:xclsoftware@163.com 将ui文件copy到uic.exe同一目录下(qt的安装目录中bin下). 打 ...

  7. 【转】matlab函数编译成dll供Cpp调用的方法

    转自:https://www.cnblogs.com/vincenzo/archive/2009/09/09/1563467.html 以前做过matlab7与c++的混合编程:将m函数编译成dll给 ...

  8. matlab将cpp编译为dll,Matlab函数编译成dll供Cpp调用的方法图解教程

    曾经实现过将matlab函数编译成dll供Cpp调用,这篇文章的目的是对新增的面向对象的的扩展mwArray进行讲解,matlab很容易和C/C++联合起来使用. 以前做过matlab7与c++的混合 ...

  9. Java日志记录函数调用栈方法

    关于getStackTrace() public StackTraceElement[] getStackTrace() 返回一个表示该线程堆栈转储的堆栈跟踪元素数组.如果该线程尚未启动或已经终止,则 ...

最新文章

  1. 关键七步,用Apache Spark构建实时分析Dashboard
  2. 【机器学习】一位机器学习高手的个人技术书目
  3. 银行营业网点管理系统——dao包(BaseDao)
  4. TOMCAT启动完成但是ECLIPSE仍然显示starting....
  5. OMA 设备管理的通知发起的会话OMA Device Management Notification Initiated Session
  6. 56 SD配置-科目分配-定义物料科目设置组
  7. SQLi LABS Less 25 联合注入+报错注入+布尔盲注
  8. 关于 TApplication 详解 六 ---- TColorDialog
  9. ArrayList的去重问题
  10. Linux目录--proc详解
  11. tc简单开发。窗口类。在窗口初始化时,使用窗口隐藏()
  12. Exploring Simple Siamese Representation Learning[arxiv Submitted on 20 Nov 2020]------论文解读
  13. java300集高淇老师学习笔记
  14. 【LeetCode】Day3-Excel表列名称
  15. es搜索同义词近义词技术方案
  16. 付费会员亿时代即将来临,如何才能打造“终身俱乐部”?
  17. 人工智能方面会议评分与简介(转)
  18. 推荐这几个阿里、抖音、快手超级牛逼的技术大佬的公众号!
  19. 【成为架构师课程系列】架构师的核心能力地图
  20. 后台服务架构高性能设计之道

热门文章

  1. mysql 10个日期,MySQL自学篇(10)——日期函数
  2. 爬空气质量MySQL,mysql
  3. python管道通信_Python进程通信之匿名管道实例讲解
  4. python多维数组运用_使用Python将文件读入多维数组
  5. boost windows编译
  6. Postgresql中的hybrid hash join(无状态机讲解)
  7. Leetcode226. 翻转二叉树(递归、迭代、层序三种解法)
  8. 【视觉项目】【day4】8.24号实验记录(消除瓶子内部“边缘”)
  9. Java Date toString()方法与示例
  10. 调用本地电脑摄像头并进行按P进行捕获照片并保存,按下Q退出