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自带的函数
原文链接:https://www.cnblogs.com/Icer-newer/p/17205203.html
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:02-VS调试以及Qt基本使用 - Python技术站