汇编语言编程中遇到的一个跨文件函数调用问题
来源:互联网 发布:日本强大知乎 编辑:程序博客网 时间:2024/06/13 19:35
我的一个项目中需要C和汇编语言混合编程,使用VS2010开发环境,汇编语言部分写在一个独立的.asm文件中,在VS工程中,汇编源文件的“Item Type“ 定义为“Custom Build Tool“。 编译链接成功. 但是调试时发现,C语言文件中函数调用汇编语言文件中的函数可正确工作,但一个汇编文件中的函数调用另一个汇编源文件中的函数时却不能工作,当执行到call指令时,不能正确定位到目标函数,百度了1个多小时,参考了csdn论坛和博客的多个帖子和文章,也没有找到正确答案。最后在微软的官网https://support.microsoft.com/zh-cn/kb/86816上找到正确答案。解决方法,在调用函数所在的文件中,将被调函数声明为绝对地址。如 EXTERN _funname:abs,我之前的声明是 EXTERN _funname:DWORD。
更多的信息:
1. 我的程序生成的是32位应用程序,故在汇编源文件开头,做如下定义
.686P
.model flat
OPTION DOTNAME
2. Custom Build tool 参数定义
Command Line: ml /Zi /coff /c %(FullPath)
Outputs: %(Filename).obj %(Outputs)ml.exe
0 0
- 汇编语言编程中遇到的一个跨文件函数调用问题
- [编程语言][汇编语言]另类的函数调用
- 剪切板编程中遇到的一个问题
- 关于学习c编程中调用函数时遇到的些许问题
- 汇编语言文件操作管理,文件代号式磁盘存取中遇到的问题
- c++基础编程函数调用时遇到的问题
- Delphi的MDI编程中遇到的一个奇怪问题
- 汇编语言中参数调用问题
- 浅议C编程中遇到scanf函数的一些问题
- C编程中scanf函数遇到的问题
- Linux:文件编程学习中遇到的问题
- 编写Makefile文件中遇到的一个问题
- webupload文件上传过程中遇到的一个问题
- udp dll编程中遇到一个问题
- 函数嵌套调用遇到的问题
- vc编程中遇到一个编译问题,原来是少了LIB文件 (ZT)
- vc编程中遇到一个编译问题,原来是少了LIB文件
- 翻译《有关编程、重构及其他的终极问题?》——19.如何合理的从一个构造函数中调用另外一个构造函数
- redis持久化
- FlashBuilder 4.6 破解序列号和方法
- vs2010彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- nodejs 异步编程 async
- 图片保存到数据库和从数据库读取照片
- 汇编语言编程中遇到的一个跨文件函数调用问题
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
- android Mediaplayer各种属性和方法简单介绍(copy自随笔)
- css常用笔记
- 大文件切割上传
- CTex: can not find psfig.sty
- linux清屏命令clear和reset
- tableView的表头
- AJAX用法示例详解