C++中调用C函数,会提示undefined reference to xxx,collect2: error: ld returned 1 exit status

news/2024/12/27 16:20:15/文章来源:https://www.cnblogs.com/zhuangquan/p/18530161

  在C++中调用C函数,即使头文件等都包含,编译后提示错误undefined reference to xxx,collect2: error: ld returned 1 exit status。

  这是因为C和C++编译过来中,函数的符号表示不一样。在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中,只是简单的函数名字而已,不会加入其他的信息.也就是说:C++和C对产生的函数名字的处理是不一样的. 目的就是主要实现C与C++的相互调用问题。

举例:

  用strings工具查看一个库,

   这种MsgBroker_Release就是C函数的,其他很奇怪的就是C++的函数。

  所以函数名称会有所不同,导致即使包含了函数原型的头文件,但是依旧在链接阶段找不到函数。

解决:

  参考:https://www.cnblogs.com/zhuangquan/p/17143607.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827653.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

img 标签高度多了几个像素

因为img标签是行内标签自带间距,导致图片和div之间有间隙<div class="img-container"><img src="xxxxxxxxx" /> </div> <style lang=less> .img-container {width: 200px;font-size: 0; // 方法一img {display: block; // 方法二…

【教程】第一章:界面和安装介绍——初识 NocoBase

1.1 快速体验 首先,我们推荐你快速体验 NocoBase,了解它的强大功能。你可以在 在线 Demo 填写邮箱和相关信息,点击开通。即可收到为期 2 天的体验系统,包含全部商业插件:收到 NocoBase 官方邮件之后,可以先行探索,感受 NocoBase 的灵活强大。可以在体验系统中随意操作,…

idea的git提交显示异常改怎么处理

1、打开设置 2、将项目和其他的VSC改为Git

Burp Suite Professional 2024.10 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.10 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件Burp Suite Professional 2024.10 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-m…

Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件Burp Suite Professional 2024.10 for Windows x64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-win/ 查看最新版。原创…

如何使用 GoPro 进行视频直播 All In One

如何使用 GoPro 进行视频直播 All In One WebCam / 网络摄像头如何使用 GoPro 进行视频直播 All In OneWebCam / 网络摄像头支持视频直播的产品和应用GoPro HERO7 Black 及更高版本 GoPro Quik 应用(必需)https://community.gopro.com/s/article/How-To-Live-Stream-From-You…

tomcat-windows环境页面乱码问题

在catalina.bat目录总增加以下配置 set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

数据科学在京东物流关键角色与前沿应用探索

作者:京东物流 何平小编之所以选择这个话题,是希望帮助大家更全面地理解数据科学的概念。数据科学是一个广泛而深刻的领域,不仅仅是数据分析、机器学习或大模型的代名词。它的核心在于如何更有效地挖掘数据背后的价值,将数据转化为业务驱动力。最终,通过数据科学实现成本优…

企业老板的最爱,KPI 数据大屏全屏监控企业经营数据目标达成

「KPI目标管理」,新增「目标数据大屏」,可视化追踪目标进度,老板最喜欢的目标数据追踪大屏,够炫酷! 应用场景 在企业管理中,每个人都面临着监控目标执行情况和管理团队的挑战。 每个人需要实时了解目标的落地情况、风险因素以及团队成员的贡献度,但传统的管理方式往往:…

IBM SPSS Amos 28下载与安装教程

1、安装包Amos28: 链接:https://pan.quark.cn/s/0f9dcffd2b38 提取码:Z18Q 2、安装教程 1) 双击安装,弹窗安装对话框2) 点击下一步,选择I accept ,点击Next3) 选择安装路径,建议安装C盘之外,选择完,点击Next4) 点击Install 开始安装5) …

Meta AR 眼镜团队前负责人加入 OpenAI;visionOS 2.2 Beta 引入超宽屏投屏模式丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement)领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的数据」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑的…

newstarctf WP存档

Week 1 Pwn Real Login Game Overwrite Gdb Reverse Web Crypto Misc Week 2 Pwn Reverse Web Crypto Misc Week 3 Pwn 不思議なscanf One Last B1te ezcanary Easy_Shellcode Reverse 011vm simpleAndroid SMc_math flowering_shrubs SecertsOfKawaii PangBai 过家家(3) 取啥…