日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2008编译汇编程序的问题

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2008编译汇编程序的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在VS2008 pro里已經集成了MASM,經過相關設置后,編譯出了程序,但是執行后,說少msvcr90.dll
39944
然后自己寫了個C的程序在DEPEND中對比了下兩個的導入表。
39946
39945


那個testprintf是執行正常的。
雖然兩個都有引入msvcr90.dll
問下,這是為什么?

說來生成的OBJ文件應該是正確的,可能在LINK的時候出了問題,請教下怎么設置。

附源碼,請教怎么在VS2008編譯能正確執行。
;程序清單:cpuid.asm(讀取CPU標識)
.586
.model flat,stdcall
Option casemap:none
includelib msvcrt.lib
printf PROTO C :dword,:vararg
.data
szVendorID byte 13 dup (0)
szFormatStr byte 'VendorID = %s; Processor SN = %08X%08X', 0ah
.code
start:
mov eax, 0
cpuid

mov dword ptr szVendorID, ebx
mov dword ptr szVendorID+4, edx
mov dword ptr szVendorID+8, ecx

mov eax, 3
cpuid

invoke printf, offset szFormatStr,?
offset szVendorID, ecx, edx

ret
end start
附:
Visual Studio匯編語言環境配置
http://blog.creke.net/629.html ? 搞定了,我自己來答吧。后來在系統里搜msvcr又看到了msvcr90.dll復制到環境變量里的一個目錄,執行報錯,用depend查,printf出現了在導入表那。不知道,是不是在msvcr90.dll要調用printf,是不是要做一些相關初始化工作。
正確的是
配置屬性-鏈接器-輸入 中,將附加依賴項改為:
C:\masm32\lib\*
我的MASM 9裝在C:\masm32\
這樣鏈接時,msvcrt.lib就會使用masm9的那個引入庫,會鏈接到MSVCR.DLL,而不是那個msvcr90.dll。

總結

以上是生活随笔為你收集整理的VS2008编译汇编程序的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。