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

yizhihongxing

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;//成功完成
}

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

1.2 VS中代码调试

调试的时候,要先设置断点,断点的意义在于使程序运行至断点时停止,使其可以人为控制
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用

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

监视窗口
从上面调试窗口中打开一个监视窗口(选择一个即可)
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用

内存窗口

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

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 这个应用程序框架更加快速及轻易的完成开发任务。
02-VS调试以及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写界面
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用

2.3 VS2013的C4996错误

由于微软在VS2013中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误:
02-VS调试以及Qt基本使用
VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。

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

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

alt+上下键可以进行移动

2.4 VS写界面

1. VS中没有MFC项目创建
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用

2. 创建MFC项目
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用
02-VS调试以及Qt基本使用

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

原文链接:https://www.cnblogs.com/Icer-newer/p/17205203.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:02-VS调试以及Qt基本使用 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • 用C语言实现井字棋游戏代码

    用C语言实现井字棋游戏代码 1. 程序框架 首先,我们需要理解井字棋游戏的规则,然后设计程序框架。井字棋通常是由两个玩家交替下棋,棋盘为 3×3 的矩阵,玩家通过落子来使自己的棋子连成一条直线。因此,我们需要至少维护以下信息: 棋盘状态,即每个位置的落子情况; 游戏进程状态,即当前轮到哪个玩家下棋,或者游戏是否结束。 接下来,我们可以设计井字棋程序的结构体,…

    C 2023年5月24日
    00
  • 简介C/C++预处理器的一些工作

    下面是详细的攻略: 简介C/C++预处理器的一些工作 预处理器是一种在编译源代码之前执行的程序,它实现了一些特殊的功能,例如宏替换、条件编译以及包含文件等操作。下面我们将详细讲解C/C++预处理器的一些工作。 宏替换 宏替换是预处理器的一个重要功能,它可以将代码中的宏名称替换为相应的宏值。宏定义可以使用#define关键字进行定义,例如: #define P…

    C 2023年5月23日
    00
  • c语言实现学生管理系统详解

    C语言实现学生管理系统详解 本文将详细讲解如何使用C语言实现一个简单的学生管理系统,包括设计思路、代码实现和运行效果展示。 设计思路 学生管理系统是一种常见的信息管理系统,其主要功能包括添加、删除、查询、修改学生信息。在设计实现过程中,我们可以采用如下思路: 1. 学生信息结构体的定义和存储 我们定义一个结构体(student)来表示每个学生的信息,包括姓名…

    C 2023年5月23日
    00
  • C语言之sizeof与strlen的使用及区别

    当我们使用C语言进行编程时,有时需要知道变量或数组占用的内存大小,或者需要获取字符串的长度。这时就可以使用sizeof和strlen这两个函数。它们非常常用,但是很容易混淆,下面我将详细讲解它们的用法及区别。 一、sizeof的用法 sizeof是一个运算符,用于获取变量或类型的大小。它的语法如下: sizeof(变量或类型) 其中,变量或类型可以是任何类型…

    C 2023年5月23日
    00
  • C++11并发编程关于原子操作atomic的代码示例

    首先,为了保证代码并发时的正确性和可靠性,C++提供了原子操作atomic,它允许程序员指定特定的操作符进行原子操作。本文将详细讲解使用C++11原子操作的代码示例以及相关的攻略。 原子操作atomic 原子操作atomic是一种保证并发编程安全的工具,在多线程的情况下,可以保证一些关键代码块执行过程中的原子操作。原子操作可以避免竞态条件(Race Cond…

    C 2023年5月22日
    00
  • Python 对象序列化与反序列化之pickle json详细解析

    Python 对象序列化与反序列化之pickle json详细解析 什么是序列化和反序列化 在计算机科学中,”序列化”是指将数据结构或对象状态转换为可以存储或传输的格式的过程。反之,”反序列化”则是将存储或传输的格式恢复成对象的状态的过程。序列化的一种常见应用是在客户端和服务器之间传输数据。 pickle 序列化和反序列化 Pickle 模块实现了基本的数据…

    C 2023年5月23日
    00
  • C语言实现线性动态(单向)链表的示例代码

    下面是详细讲解“C语言实现线性动态(单向)链表的示例代码”的完整攻略: 线性动态(单向)链表是什么? 线性动态(单向)链表是一种动态数据结构,由若干个节点组成。每个节点包含两个部分:数据部分和一个称为指针的部分。指针指向下一个节点,最后一个节点指向空地址(NULL)。链表起始点称为头节点,最后一个节点称为尾节点。 实现步骤 1. 定义节点结构体 定义节点结构…

    C 2023年5月23日
    00
  • php判断是否为json格式的方法

    PHP语言中判断是否为JSON格式的方法有很多种,常见的有以下两种方法: 方法一:使用PHP自带的json_decode函数 使用json_decode函数将JSON字符串转换成PHP数组 判断转换结果是否为NULL或者与原始字符串相等 示例代码: function is_json1($string) { $result = json_decode($str…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部