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, ...
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自帶的函數