如何在vs2017配置qt中进行64位汇编的配置

VS2015怎样配置汇编环境
[问题点数:40分,结帖人LVMJIE]
本版专家分:0
结帖率 90%
CSDN今日推荐
本版专家分:69416
2012年11月 其他开发语言大版内专家分月排行榜第一2011年5月 其他开发语言大版内专家分月排行榜第一2010年6月 其他开发语言大版内专家分月排行榜第一2010年5月 其他开发语言大版内专家分月排行榜第一2010年4月 其他开发语言大版内专家分月排行榜第一2008年1月 其他开发语言大版内专家分月排行榜第一2007年12月 其他开发语言大版内专家分月排行榜第一2007年11月 其他开发语言大版内专家分月排行榜第一2007年4月 其他开发语言大版内专家分月排行榜第一2006年12月 其他开发语言大版内专家分月排行榜第一2006年11月 其他开发语言大版内专家分月排行榜第一2006年10月 其他开发语言大版内专家分月排行榜第一2006年7月 其他开发语言大版内专家分月排行榜第一2006年6月 其他开发语言大版内专家分月排行榜第一2005年11月 其他开发语言大版内专家分月排行榜第一2005年10月 其他开发语言大版内专家分月排行榜第一2005年9月 其他开发语言大版内专家分月排行榜第一2005年6月 其他开发语言大版内专家分月排行榜第一2005年5月 其他开发语言大版内专家分月排行榜第一2005年3月 其他开发语言大版内专家分月排行榜第一2005年2月 其他开发语言大版内专家分月排行榜第一2004年10月 其他开发语言大版内专家分月排行榜第一2004年9月 其他开发语言大版内专家分月排行榜第一2005年2月 硬件使用大版内专家分月排行榜第一2004年8月 硬件/嵌入开发大版内专家分月排行榜第一
2012年10月 其他开发语言大版内专家分月排行榜第二2011年7月 其他开发语言大版内专家分月排行榜第二2010年3月 其他开发语言大版内专家分月排行榜第二2007年10月 其他开发语言大版内专家分月排行榜第二2007年9月 其他开发语言大版内专家分月排行榜第二2005年3月 Windows专区大版内专家分月排行榜第二2005年2月 Windows专区大版内专家分月排行榜第二2005年6月 扩充话题大版内专家分月排行榜第二2006年9月 其他开发语言大版内专家分月排行榜第二2006年5月 其他开发语言大版内专家分月排行榜第二2006年3月 其他开发语言大版内专家分月排行榜第二2006年2月 其他开发语言大版内专家分月排行榜第二2005年12月 其他开发语言大版内专家分月排行榜第二2005年4月 其他开发语言大版内专家分月排行榜第二2004年11月 其他开发语言大版内专家分月排行榜第二2005年3月 硬件使用大版内专家分月排行榜第二
2011年11月 其他开发语言大版内专家分月排行榜第三2011年8月 其他开发语言大版内专家分月排行榜第三2008年10月 其他开发语言大版内专家分月排行榜第三2004年9月 硬件/嵌入开发大版内专家分月排行榜第三
本版专家分:238
本版专家分:307
本版专家分:703
2017年 总版技术专家分年内排行榜第六
2018年1月 总版技术专家分月排行榜第一2016年12月 总版技术专家分月排行榜第一2016年11月 总版技术专家分月排行榜第一2016年10月 总版技术专家分月排行榜第一
2016年10月优秀大版主2016年8月优秀大版主
2018年5月 总版技术专家分月排行榜第二2017年12月 总版技术专家分月排行榜第二2016年9月 总版技术专家分月排行榜第二
匿名用户不能发表回复!|
其他相关推荐#include&&iostream&&&
using&namespace&&&
int&&Add(int&num1,&int&num2)&&
&&&&__asm&&
&&&&&&&&mov&eax,num1&&
&&&&&&&&mov&ecx,num2&&
&&&&&&&&add&eax,ecx&&
void&main()&&
&&&&int&a&=&Add(2,3);&&
&&&&cout&&&a&&&&&
&&&&system("pause");&&
#include &iostream&
Add(int num1, int num2)
mov eax,num1
mov ecx,num2
add eax,ecx
void main()
int a = Add(2,3);
cout&& a &&
system("pause");
可以发现上述代码可以正常使用,然后将工程项目切换至x64编译模式下,就会发现有如下的错误提示:
Int_3&PROC&&
&&&&&&&&MOV&EAX,&1234&&;返回1234&&
&&&&&&&&RET&&
Int_3&ENDP&&
MY_TEST&PROC&&
&&&&&&&&MOV&EAX,&23&;返回23&&
&&&&&&&&RET&&
MY_TEST&ENDP&&
Int_3 PROC
MOV EAX, 1234返回1234
Int_3 ENDP
MY_TEST PROC
MOV EAX, 23 ;返回23
MY_TEST ENDP
#ifndef&__ASMCODE_H&&
#define&__ASMCODE_H&&
extern&"C"&&
&&&&int&_stdcall&Int_3();&&
&&&&int&_stdcall&MY_TEST();&&
#ifndef __ASMCODE_H
#define __ASMCODE_H
extern "C"
int _stdcall Int_3();
int _stdcall MY_TEST();
阅读(...) 评论()如何在64位win10的VS2017环境下搭建汇编环境
[问题点数:50分]
本版专家分:0
CSDN今日推荐
本版专家分:25593
2018年4月 Delphi大版内专家分月排行榜第一2018年3月 Delphi大版内专家分月排行榜第一
2016年11月 Delphi大版内专家分月排行榜第二
2011年10月 其他开发语言大版内专家分月排行榜第三2010年8月 其他开发语言大版内专家分月排行榜第三2007年5月 其他开发语言大版内专家分月排行榜第三
本版专家分:3034
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:50
本版专家分:5352
2006年 总版技术专家分年内排行榜第四
2006年4月 总版技术专家分月排行榜第一
2006年3月 总版技术专家分月排行榜第三
2014年1月 荣获微软MVP称号2009年1月 荣获微软MVP称号2013年1月 荣获微软MVP称号2012年1月 荣获微软MVP称号2010年1月 荣获微软MVP称号2011年1月 荣获微软MVP称号2006年1月 荣获微软MVP称号2005年1月 荣获微软MVP称号2008年1月 荣获微软MVP称号2007年1月 荣获微软MVP称号2004年1月 荣获微软MVP称号
本版专家分:1612
匿名用户不能发表回复!|
其他相关推荐
学一门语言,最好的方法便是在实践中学习。对于不少初学者来说,首先要面临的是如何搭建开发平台/环境的问题。由于汇编语言的特殊性,不少初学者会担心自己直接对寄存器进行操作会不会导致系统崩溃或者系统硬件损坏,再加上现如今高级程序设计语言大行其道,真正需要写汇编语言的情境已经不那么多了,所以不少初学汇编语言的同学都还停留在纸上谈兵的状态。
本人初次学习汇编语言已经是五年前,但一直都未亲自实践过,最近工作上需要用到反汇编二进制可执行文件,因此计划重新拾起曾经学过的汇编语言,以便能够顺利完成手头上的项目。以下是搭
参考博客:http://blog.csdn.net/u/article/details/15使用汇编:http://tieba.baidu.com/p/
VS2015汇编语法高亮:http://blog.csdn.net/sinat_/article/details/
原因:学校布置的实验作业!过程简述:今天搞了一下午的在Windows10系统上debug环境的搭建以及对简单汇编程序(Hello world)的简单调试,仅以此文留作纪念。在网上浏览了许许多多的资料,在此加上本人自己的体会整理出来。目的:加深自己的印象,同时也是督促自己深入了解,哈哈哈!一、debug环境搭建Windows10的64位系统下不能直接对汇编源程序进行编译、链接生成.exe文件等操作,...
因为masm.exe和link.exe文件只有win32位下才能直接运行。在64位系统下就会报错:系统不兼容
但是,我们不能因为这个就放弃学汇编程序
首先,我们需要准备dos—box软件,直接搜dos-box。安装运行。
然后在电脑磁盘上建立一个文件夹,例如:在E盘上建立一个文件huibain,这个文件夹里有一个文件夹masm5.0,文件里有masm.exe,link.exe,debug.e
汇编环境搭建(vs)+masm32)
对于X86汇编的其实也没什么环境配置, 就是使用masm.exe了
直接下载 masm5.0 解压 配置环境变量(方便cmd使用)就是了.
http://download.csdn.net/detail/cay22/4014341
现在有masm6.11 没试过
下载地址如下:
http://download.csdn.net/detail/cay22/4014346
1. 虽然使用MASM32也可以编译运行汇编程序,但是既然装了VS2010,它也能支持编译运行汇编吧.不然微软的开发人员难道还不用vs写汇编程序了?
http://www.masm32.com/
2. x64程序是大势所趋,win32(只能支持4G内存)逐渐退出舞台了,所以x64编译汇编也是必然要知道的.
win32项目步骤:
1.建一个空项目,必须先建空项
masm、dosbox的获取、安装请参考这位博主的文章:
点击打开链接http://blog.csdn.net/xyisv/article/details/690623
1.在系统盘搜索gl.h,win10下是C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um\gl
2.C:\Windows\SysWOW64
glut.dll &
glut32.dll ()
3.C:\Program Files (x86)\Windows Kits\10\Lib\10.0.1506
Using the Microsoft Visual Studio 2010 Debugger
Updated 1/22/2011
This tutorial explains how to use the Microsoft Visual Studio .NET Debugger to debug 32-bit assembly language programsVS2013下的64位与32位程序配置
在工具栏上单击"Solution Platforms",选择"Configuration Manager...",然后在"Active solution platform"中选择"&New...&"
在"New Solution Platform"对话框中选择"x64"平台。单击确定。
回到IDE界面上了,注意到现在的平台已经是x64了。
编译,链接,分别生成32位与64位程序。
按F5,开始调试,在output对话框中,我们可以看到32位和64位程序加载的dll不同。
32位程序从SysWOW64中加载dll。
而64位程序从System32中加载dll。
分别用32bit和64bit的配置编译, 看看结果有何区别.&
阅读(...) 评论()积土成山,积水成渊!
VS2017中实现C程序调用汇编函数
VS2017中实现C程序调用汇编函数
使用的开发环境
visual studio community 2017
新建一个Win32控制台程序, 便于测试
在源文件目录下添加 *.C文件和*.asm文件。可以参考以下的测试代码
mytest.asm, 注意说明内存模型, 并将mytest设置为public。该函数啥也没干,直接返回了10
.model flat, c
public mytest
mytest proc
mov eax, 10
mytest endp
main.c 实现的功能是将汇编函数返回值打印到屏幕上,注意这里是*.c 程序, 直接使用C函数声明函数形式 int test(); 如果创建的文件时 *.cpp 的话,注意使用 extern "C" _cstdl 说明。
int test();
int main() {
a = mytest();
printf("a = %d", a);
如果直接生成解决方案的时候, VS直接忽略掉 *asm 文件, 因此会在链接的时候,找不到 _mytest 的定义,从而导致链接失败,如下图
配置 mytest.asm 的属性: 选中mytest.asm 右键选择属性, 如下, 可以看见该文件并不参与生成。
修改属性为如下
点击应用,可以看到属性页上增加了一栏配置,修改为以下的内容
- ml 是VS中带的宏汇编&连接程序, 用于将 asm转换为*.obj文件并连接, /c 参数表示只汇编不连接, /coff表示使用的文件格式。 用法如下
如果ml无法在命令行中使用的话,说明没有设置相应的环境变量。
确认之后, 可以直接运行了。
主要关注的在于如何使VS识别 .asm 文件, 并将其转换为可以用于和C程序连接的 .obj 文件。当然你也可以直接使用命令行行 将 .asm 转换为 *.obj文件, 将其放在C文件同一个目录下。编译运行通过。如下
VS2017如何使用C_C++语言调用汇编函数
浅谈“函数调用”在VS中怎样实现
在vs2017中编写汇编
在vs2017下编译汇编程序
VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】
没有更多推荐了,

我要回帖

更多关于 vs2017永久配置opencv 的文章

 

随机推荐