C++编译时函数名修饰约定规则:

 __stdcall调用约定:

    1、以"?"标识函数名的开始,后跟函数名;   
    2、函数名后面以"@@YG"标识参数表的开始,后跟参数表;  
    3、参数表以代号表示:    
      X--void 
      D--char 
      E--unsigned char 
      F--short 
      H--int 
      I--unsigned int 
      J--long 
      K--unsigned long 
      M--float 
      N--double 
      _N--bool 
      ....    
      PA--表示指针,后面的代号表明指针类型,如果相同类型的指针连续出现,以"0"代替,一个"0"代表一次重复;    
    4、参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指数据类型前;    
    5、参数表后以"@Z"标识整个名字的结束,如果该函数无参数,则以"Z"标识结束。

其格式为      "?functionname@@YG*****@Z"或"?functionname@@YG*XZ",

   例如 :  
                      int Test1(char *var1, unsigned long)-----?Test1@@YGHPADK@Z

void Test2()-----"?Test2@@YGXXZ"

__cdecl调用约定:    
    规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YA"。

__fastcall调用约定:    
  规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的"@@YG"变为"@@YI"。

如果要用DEF文件输出一个"C++"类,则把要输出的数据和成员的修饰名都写入.def模块定义文件

转载于:https://www.cnblogs.com/xingboy/p/11161680.html

C++ 编写的DLL导出的函数名乱码含义解析相关推荐

  1. C++ 动态库导出函数名“乱码”及解决

    刚接触C++,在尝试从 dll 中导出函数时,发现导出的函数名都"乱码"了. 导出过程如下: 新建一个Win32项目: 新建的解决方案里有几个导出的示例: // 下列 ifdef ...

  2. C++ 动态库导出函数名乱码及解决

    刚接触C++,在尝试从 dll 中导出函数时,发现导出的函数名都"乱码"了. 导出过程如下: 新建一个Win32项目: 新建的解决方案里有几个导出的示例: // 下列 ifdef ...

  3. python不允许使用关键字作为变量名、允许使用内置函数_【判断题】Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做...

    [判断题]Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做 更多相关问题 [单选,A2型题,A1/A2型题] <十四经发挥&g ...

  4. python不允许使用关键字作为变量名、允许使用内置函数_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。...

    Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义. 答:对 对于检查出的无效MAC帧,以太网负责重传. 答:× 哪一年开始中国成为世界第二大经济体? 答:2 ...

  5. python变量说法_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义...

    根据材料,下列表述不正确的是().A.2003年一2009年,H省农民人均纯收入增加最多的是2008年B.2008 云南西双版纳有"植物王国""动物王国"的称誉 ...

  6. python可以用保留字作为函数的名字吗_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义...

    [多选题]报表系统中报表公式主要有( ) [多选题]建立账套完成之后,( )不能修改. [单选题]心房颤动的特征性心电图表现是 [单选题]UFO 报表的数据处理能够完成以下哪些任务? [单选题]具有改 ...

  7. MFC DLL 导出函数的定义方式

    一直在鼓捣DLL,每天的工作都是调试一个一个的DLL,往DLL里面添加自己的代码,但是对于DLL一直不太了解啊!今天一查资料,才发现自己对于DLL编写的一些基本知识也不了解.要学习,这篇文章先总结DL ...

  8. C# 遍历DLL导出函数

    C#如何去遍历一个由C++或E语言编写的本地DLL导出函数呢 不过在这里我建议对PE一无所知的人 你或许应先补补这方面的知识,我不知道为什么PE方面的 应用在C#中怎么这么少,我查阅过相关 C#的知识 ...

  9. C#调用dll中的函数

    C#调用dll中的函数 文章分类:操作系统 文章来源:http://blog.csdn.net/strmagic/archive/2007/11/02/1863462.aspx 大家在实际工作学习C# ...

最新文章

  1. BIND9配置文件详解模板
  2. ETSI MEC — 容灾组网模型
  3. JAVA代码如何实现删除文件夹6_java文件创建、删除、读取、写入操作大全
  4. 网络编程学习笔记(UDP的connect函数)
  5. Django ORM 级联删除
  6. ZABBIX3.0配置邮件报警
  7. 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群
  8. MFC与Matlab编程总结 (以《Matlab与C/C++混合编程技术(第三版)》-刘维 第五章 生成DLL为例)
  9. 7个你可能不认识的CSS单位
  10. CSharpGL(29)初步封装Texture和Framebuffer
  11. 产品要不要做先回答的10个问题
  12. Maven - 基础入门与安装配置
  13. MIUI11新版本推送,小米10 Pro跑分轻松突破60万
  14. java tcp socket 关闭_JAVA SOCKET和TCP四次挥手
  15. pta 7-5 病毒变种 C语言
  16. 方维团购V3.07版本短信插件开发
  17. 使用python lxml库中的xpath、etree爬取网页超链接
  18. 图片拉伸:拉伸两边,保持中间不动
  19. 全栈开发实战|​名片管理系统的设计与实现(SSM + JSP)
  20. linux下 部署调用SAP接口

热门文章

  1. 数据库中表名、字段名、字符串大小写处理规则
  2. vue ----axios
  3. 怎么卡我的世界服务器物品,我的世界手机版卡BUG刷物品方法攻略
  4. putty 32位_了解linux系统远程操作软件,putty的安装过程!
  5. windows批处理执行多条命令
  6. zookeeper 3.6.0安装以及基本使用
  7. Git Stash的使用方法与注意事项
  8. 【概率论与数理统计】小结8 - 三大抽样分布
  9. Java集合(四) LinkedList详解
  10. 数据迁移工具 - Flyway