- 2
- 0
- 约9.64千字
- 约 10页
- 2020-06-12 发布于福建
- 举报
使用 C/C++ 语言开发软件的程序员经常碰到这样的问题:有时候是程序编
译没有问题,但是链接的时候总是报告函数不存在 (经典的 LNK 2001 错误),
有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆
栈异常。这些现象通常是出现在 C 和 C++ 的代码混合使用的情况下或在
C++ 程序中使用第三方的库的情况下(不是用 C++ 语言开发的) ,其实这都
是函数调用约定 (Calling Convention )和函数名修饰 (Decorated Name )
规则惹的祸。函数调用方式决定了函数参数入栈的顺序,是由调用者函数还
是被调用函数负责清除栈中的参数等问题,而函数名修饰规则决定了编译器
使用何种名字修饰方式来区分不同的函数,如果函数之间的调用约定不匹配
或者名字修饰不匹配就会产生以上的问题。本文分别对 C 和 C++ 这两种编
程语言的函数调用约定和函数名修饰规则进行详细的解释,比较了它们的异
同之处,并举例说明了以上问题出现的原因。
函数
您可能关注的文档
- 明确氨吸收施工方案[文].pdf
- 明确氨泄漏事故应急预案[文].pdf
- 明确氨站管理制度[文].pdf
- 明确氨站土建工程冬季施工方案[文].pdf
- 明确氨制冷用压力容器管理制度[文].pdf
- 明确测试技术大牛谈成长经历[文].pdf
- 明确测试用例指导工作是不是好方法[文].pdf
- 明确氮氢压缩机设备施工方案[文].pdf
- 明确氟碳(PU)金属漆施工方案[文].pdf
- 明确氟碳金属漆施工方案[文].pdf
- 人教版生物 七年级上册 1.1.2生物的特征 分层作业(解析版).pdf
- 2027届开封市尉氏县六年级数学第一学期期末统考模拟试题含解析.doc
- 2027届米脂县三上数学期末学业水平测试模拟试题含解析.doc
- 昆明市石林彝族自治县2027届数学四上期末监测模拟试题含解析.doc
- 2027届浙江省杭州市临安区四年级数学第一学期期末联考试题含解析.doc
- 2027届六盘水市六枝特区三上数学期末监测模拟试题含解析.doc
- 2027届浙江省黄山市数学三上期末达标测试试题含解析.doc
- 2027届厦门市民立二小数学六年级第一学期期末达标检测试题含解析.doc
- 2027届商都县三年级数学第一学期期末质量检测试题含解析.doc
- 丹东市元宝区2027届六年级数学第一学期期末达标测试试题含解析.doc
原创力文档

文档评论(0)