win7下面编译链接《Intel汇编语言程序设计》中的Irvine32.lib问题

[复制链接]
查看11 | 回复9 | 2021-1-27 06:35:03 | 显示全部楼层 |阅读模式
使用的是masm32
从intel汇编语言程序设计中copy出来的Irvine32.lib,编译链接都没有问题
但是运行的时候,没有任何结果输出,好像exe运行就直接退出了
请问有人碰到这样的问题吗?
我记得以前xp上面是可以的
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
应该是WIN7的问题吧,把源程序贴出来看看。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
Irvine32.lib的那些,是不是控制台模式的输出?链接时用/subsystem:console而不是/subsystem:windows选项试试?
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
调试一下看退出的原因。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
输出模式问题?改下看看。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
引用楼主xpamirs的回复:使用的是masm32
从intel汇编语言程序设计中copy出来的Irvine32.lib,编译链接都没有问题
但是运行的时候,没有任何结果输出,好像exe运行就直接退出了
请问有人碰到这样的问题吗?
我记得以前xp上面是可以的

楼主masm32在xp下用过?
不知道怎么编译连接额,怎么搞的,正愁啊。连接时总出问题
E:\masm\BIN>link/subsystem:windows1.obj
Microsoft(R)IncrementalLinkerVersion5.12.8078
Copyright(C)MicrosoftCorp1992-1998.Allrightsreserved.
1.obj:errorLNK2001:unresolvedexternalsymbol_ExitProcess@4
1.obj:errorLNK2001:unresolvedexternalsymbol_DumpRegs@0
1.exe:fatalerrorLNK1120:2unresolvedexternals
不知道楼主以前碰到过没????
急啊,希望大虾指教。。
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
这样的问题,不知道是什么原因啊,

E:\masm\BIN>ml1.asm
Microsoft(R)MacroAssemblerVersion6.14.8444
Copyright(C)MicrosoftCorp1981-1997.Allrightsreserved.
Assembling:1.asm
Microsoft(R)IncrementalLinkerVersion5.12.8078
Copyright(C)MicrosoftCorp1992-1998.Allrightsreserved.
/z2
"1.obj"
"1.exe"
NUL
LINK:warningLNK4044:unrecognizedoption"z2";ignored
1.obj:warningLNK4033:convertingobjectformatfromOMFtoCOFF
LINK:fatalerrorLNK1181:cannotopeninputfile"1.exe"
E:\masm\BIN>

回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
Masm比较推荐编译链接分步进行:
;/c表明只进行编译,不自动调用链接程序进行链接;/coff指明创建的obj格式,Win32采用coff格式
ml/c/coffyourfile.asm
;/subsystem:console说明程序是命令行模式的,Irvine32里的些输出都是输出到控制台的吧,不是窗口
link/subsystem:consoleyourfile.obj[yourfile.res...]
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
引用5楼abc8023的回复:引用楼主xpamirs的回复:
使用的是masm32
从intel汇编语言程序设计中copy出来的Irvine32.lib,编译链接都没有问题
但是运行的时候,没有任何结果输出,好像exe运行就直接退出了
请问有人碰到这样的问题吗?
我记得以前xp上面是可以的
楼主masm32在xp下用过?
不知道怎么编译连接额,怎么搞的,正愁啊。连接时总出问题
E:\masm\B……

估计是函数调用约定的问题吧
你在网上查STDCALL,自己看一下
回复

使用道具 举报

千问 | 2021-1-27 06:35:03 | 显示全部楼层
引用6楼abc8023的回复:这样的问题,不知道是什么原因啊,

E:\masm\BIN>ml1.asm
Microsoft(R)MacroAssemblerVersion6.14.8444
Copyright(C)MicrosoftCorp1981-1997.Allrightsreserved.
Assembling:1.asm
Microsoft(R)Increment……

目标文件(.obj)的格式有两种,一是早年的omf,一是现在的coff格式
你出现这样的问题,是因为在汇编的时候没有指定/COFF参数,导致汇编出来的目标文件不被link链接器识别。
完了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行