內(nèi)容轉(zhuǎn)載自我的博客
1. 安裝vscode和wsl子系統(tǒng)
- 訪問vscode官網(wǎng)下載最新穩(wěn)定的windows版本并安裝
- 為vscode安裝擴展
C/C++
和Remote-SSH
- 在win10專業(yè)版中找到
啟用或關(guān)閉windows功能
,選擇適用于Linux的Windows子系統(tǒng)
卖漫,根據(jù)提示安裝后重啟系統(tǒng) - 在應(yīng)用商店里面搜索框輸入
linux
掂林,選擇匹配的第一個選項點擊 - 在新的頁面選擇Ubuntu肃叶,點擊并安裝,等待安裝完成即可
- 在開始菜單找到剛才安裝好的Ubuntu應(yīng)用洽胶,點擊進入會自動配置屈梁,等待配置完成即可輸入用戶名和密碼來使用Ubuntu系統(tǒng)
- 在wsl系統(tǒng)下使用
sudo apt-get update && sudo apt-get install make
來安裝make工具
2. 安裝itensor
具體方法見itensor-install/README.md
3. 使用vscode編寫代碼
3.1 配置vscode
打開vscode惕味,點擊左下角的><
標(biāo)志
選擇
Remote-WSL: New Window
盐碱,然后在新窗口中進行操作把兔,新窗口的左下角標(biāo)志為下圖原窗口可以根據(jù)自己需要決定是否關(guān)閉;至于
Select Python Interpreter
可以點擊后選擇第一個瓮顽,或者不管它
3.2 windows的文件與wsl系統(tǒng)的文件互相訪問
windows讀取wsl系統(tǒng)的文件:
- 在windows文件管理器進入目錄
C:\Users\zfb\AppData\Local\Packages\
县好,這里的zfb
是用戶名,根據(jù)每個人的電腦設(shè)置不同這個名稱也會變化 - 在文件夾下找到以
CanonicalGroupLimited.UbuntuonWindows
開頭的那個目錄暖混,點擊進入缕贡,并再選擇LocalState
文件夾進入 - 在文件夾下右鍵點擊
rootfs
,選擇固定到快速訪問
儒恋,之后便可以在左側(cè)快速訪問直接進入這個rootfs
文件夾了
它里面的目錄即為Ubuntu系統(tǒng)的目錄,可以直接交互
wsl系統(tǒng)讀取windows的文件:
打開Ubuntu應(yīng)用黔漂,也就是一個終端窗口诫尽,輸入命令cd /mnt/c
則進入C盤主路徑,同理cd /mnt/d
進入D盤主路徑炬守,可以通過ls
命令來驗證
3.3 創(chuàng)建新的文件夾
創(chuàng)建一個新的itensor項目通常要新建一個文件夾
第一種方法:
在步驟2中打開的窗口里面牧嫉,點擊菜單欄終端-->新建終端
,然后在下面的窗口即可使用命令行創(chuàng)建文件夾(與Ubuntu系統(tǒng)的終端功能用法完全一致)减途,若已經(jīng)有此終端則不需要新建酣藻,直接使用即可
第二種方法,不推薦鳍置,可能會有問題:
在windows資源管理器打開
rootfs
文件夾辽剧,一般再進入home
文件夾,zfb
文件夾(用戶名税产,根據(jù)自己設(shè)置的不同而不同)在當(dāng)前目錄下新建文件夾即可
3.4 正式編寫代碼
在vscode的菜單欄點擊文件-->打開文件夾
怕轿,在彈出的窗口選擇你要打開的文件夾(一般為上一步創(chuàng)建的文件夾)偷崩,點擊確定
即可
上圖中打開的文件夾即為
test
,在此處右鍵即可選擇新建文件或者文件夾這里以
test
文件夾為例撞羽,需要注意的是Makefile
文件來源于github下載的itensor壓縮包的tutorial/project_template
文件夾下阐斜,Makefile文件里面的對應(yīng)變量需要修改(根據(jù)步驟2即可),.cpp
文件和.h
文件根據(jù)自己需要修改為自己的代碼下面是最重要的設(shè)置路徑和任務(wù)環(huán)節(jié)诀紊,配置一次即可以后復(fù)制過來永久使用
- 創(chuàng)建文件夾
.vscode
谒出,不要忘記前面的.
- 在
.vscode
文件夾下為C/C++
擴展添加配置文件c_cpp_properties.json
,內(nèi)容如下
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/home/zfb/itensor/**"
],
// 修改includePath的第二個值為itensor的安裝路徑
// 即options.mk文件所在的目錄
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
- 在
.vscode
文件夾下添加配置文件tasks.json
邻奠,內(nèi)容如下
{
"version": "2.0.0",
"tasks": [
{
"label": "itensor-build",
"command": "make",
"args": [],
"type": "shell"
},
{
"label": "itensor-build-debug",
"command": "make",
"args": [
"debug"
],
"type": "shell"
},
{
"label": "itensor-clean",
"command": "make",
"args": [
"clean"
],
"type": "shell"
}
]
}
- 在
.vscode
文件夾下添加配置文件launch.json
笤喳,內(nèi)容如下
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}-g",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false,
}
],
"preLaunchTask": "itensor-build-debug"
// 調(diào)試會話開始前執(zhí)行的任務(wù),與tasks.json的label相對應(yīng)
}
]
}
以上四步執(zhí)行完畢后的目錄如下
3.5 編譯和運行
第一種方法:
- 打開
main()
函數(shù)所在的.cpp
文件惕澎,保證激活的窗口這里為此文件莉测,也可以打開其他文件,但是一定要保證當(dāng)前編輯器窗口顯示的是此文件的代碼 - 菜單欄選擇
調(diào)試-->啟動調(diào)試
即可運行此代碼(不要設(shè)置斷點唧喉,否則就進入調(diào)試了)捣卤,若出現(xiàn)下圖
則點擊圖中的終端
即可切換到程序輸出結(jié)果界面
第二種方法:
點擊菜單欄的終端-->新建終端
,然后在彈出的窗口里面即可使用Ubuntu命令八孝,編譯使用make
董朝,運行使用./myappname
等等
3.6 調(diào)試代碼
-
鼠標(biāo)移動到你需要暫停的那一行的行號的前面,鼠標(biāo)指針會變成小手形狀干跛,同時會有一個虛的紅點子姜,左鍵點擊即可在當(dāng)前位置設(shè)置斷點,同理可以在其他位置也添加斷點
- 菜單欄選擇
調(diào)試-->啟動調(diào)試
即可調(diào)試此代碼
上面中間位置的工具欄可以控制進行繼續(xù)運行直到下一個斷點
楼入、單步跳過
哥捕、單步調(diào)試
、單步跳出
嘉熊、重啟程序
遥赚、結(jié)束調(diào)試
左側(cè)可以查看變量的值,鼠標(biāo)在編輯區(qū)的變量上懸停也可以看到變量的值
4. 快速使用
建立在已經(jīng)熟悉前面三個步驟的基礎(chǔ)上阐肤,直接新建文件夾test1
凫佛,然后把.vscode
文件夾和里面的文件直接復(fù)制到test1
文件夾下,在此文件下編寫代碼孕惜,運行調(diào)試即可