首页 > 其他分享 >02-VS调试以及Qt基本使用

02-VS调试以及Qt基本使用

时间:2023-03-11 13:14:18浏览次数:33  
标签:02 Qt Ctrl 代码 eax VS 调试

VS调试以及Qt基本使用

1.汇编语言

1.1 VS中C语言嵌套汇编代码(了解)

#include <stdio.h>

int main()
{
	//定义整型变量a, b, c
	int a;
	int b;
	int c;

	__asm
	{
		mov a, 3	//3的值放在a对应内存的位置
		mov b, 4	//4的值放在b对应内存的位置
		mov eax, a	//把a内存的值放在eax寄存器
		add eax, b	//eax和b相加,结果放在eax
		mov c, eax	//eax的值放在c中
	}
	
	printf("%d\n",  c);//把c的值输出

	return 0;//成功完成
}

1.2 VS中代码调试

调试的时候,要先设置断点,断点的意义在于使程序运行至断点时停止,使其可以人为控制

调试窗口

监视窗口
从上面调试窗口中打开一个监视窗口(选择一个即可)

内存窗口

  • 在调试窗口中选择内存窗口,以十六进制显示内存地址
  • 通过监视窗口中的取地址符&+变量得到内存地址,之后在内存地址中搜索该变量的内存地址


2.集成开发环境(IDE)

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。主要在windows下面使用

2.1 Qt

Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

  • 使用纯英文,防止出现兼容性问题
快捷键 含义
Ctrl + i 自动格式化代码
Ctrl + / 注释/取消注释
Alt + Enter 自动完成类函数定义
F4 .h 文件和对应.cpp 文件切换
F9 设置断点
F5 调试运行
Ctrl + r 编译,但不调试运行
Ctrl + b 编译,不运行
F10 next调试
F11 step调试

2.2 Microsoft Visual Studio

Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,所写的目标代码适用于微软支持的所有平台。Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。
*1. VS常用的快捷键

快捷键 含义
Ctrl + k,Ctrl + f 自动格式化代码
Ctrl + k,Ctrl + c 注释代码
Ctrl + k,Ctrl + u 取消注释代码
F9 设置断点
F5 调试运行
Ctrl + F5 不调试运行
Ctrl + Shift + b 编译,不运行
F10 next调试
F11 step调试

2. Qt写界面






2.3 VS2013的C4996错误

由于微软在VS2013中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误:

VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。

要想继续使用此函数,需要在源文件中添加以下指令就可以避免这个错误提示:

#define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行
#pragma warning(disable:4996)	//或者使用这个

alt+上下键可以进行移动

2.4 VS写界面

1. VS中没有MFC项目创建


2. 创建MFC项目


  • 单击修改名字
  • 双击修改代码
    3. 在程序中启动另外一个程序WinExec()
#include <windows.h>
WinExec("程序路径名",1)  // 使用这个函数打开程序需要加上上面的头文件,这个函数是windows自带的函数

标签:02,Qt,Ctrl,代码,eax,VS,调试
From: https://www.cnblogs.com/Icer-newer/p/17205203.html

相关文章

  • 连网技术与网络管理 2023-03-11
    交换机DHCP防护,防止一个局域网里面,有2个DHCP误接入第二个路由器,就会导致多个DHCP.DHCP是应用层的协议  Wireshark分析DHCP_琳小白的博客-CSDN博客 IP地址,网络地......
  • [Go语言Web02]Gin框架Web开发
    1.Gin框架初识1.1Gin的安装直接参考官方的文档1.1.1安装过程下载并安装gin:$goget-ugithub.com/gin-gonic/gin将gin引入到代码中:import"github.com/......
  • 《渗透测试》算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护 2023 day8
           1数据在传输的时候为什么要进行编码   安全测试的时候往往会对url等地方进行修改、构造数据。数据传输的时候被编码的话,如果不按照对应编码......
  • 2023.03.11.函数重载,引用等
    程序生成的过程:1.预处理:头文件的展开宏的替换预处理指令解析去掉注释2.编译:预处理后文件生成汇编文件.asm(汇编代码)词法解析,语法解析语义分析优化3.汇编:汇编文件进一......
  • 2023国家线-考研人爱不释手的宝藏资源网站-搜嗖工具箱
    研招网https://yz.chsi.com.cn说起这个网站,想必考研的小伙伴都不陌生,研招网是教育部全国硕士研究生招生考试网上报名和网上调剂指定网站,既是各研究生招生单位的宣传咨询......
  • db + mysql vs oracle
    smysql与oracle的几点区别序号mysqloracle备注1.组函数用法规则mysql中组函数在select语句中可以随意使用oracle中如果查询语句中有组函数,那其他列名必须是......
  • vscode cn_blog测试
    vscodecn_blog测试1.编辑文本,插入图片2.插入代码print('Hello!cn_blog')vim~/.bashrc......
  • 0002-ALGO1006 拿金币
    试题算法训练拿金币动态规划问题,选取上一步最优的结果加上此步可以获取的金币数量。importjava.util.Scanner;/***@authorHuaWang135608*@date2023.03.11......
  • 2023.03.11.命名空间
    c++命名空间为了区分不同库中相同名称的函数、类、变量等命名空间的定义使用关键字namespace,后跟命名空间的名称,如下所示:namespacenamespace_name{//代码声明}为......
  • 程序设计应用 2023-03-11
     DjangodoessupporttheModel-View-Controller(MVC)architecturalpattern.However,DjangousesaslightlydifferentapproachcalledModel-View-Template(MV......