欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

VSCode下.json文件的編寫之(1)linux/g++(2).json中參數(shù)與預定義變量的意義解釋

0 引言

轉入linux/VSCode編程之后,迫切了解到有必有較為系統(tǒng)地學習一下VSCode中相關配置文件的寫法。下面將分為 linux/g++編譯指令、.json文件關鍵詞/替換變量的意義、編譯鏈接過程原理分析幾個部分進行介紹,并以opencv為例,將上述知識綜合運用。

創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網營銷、網站重做改版、烏海海南網站定制設計、自適應品牌網站建設、成都h5網站建設、商城建設、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為烏海海南等各大城市提供網站開發(fā)制作服務。

1 linux/g++編譯指令介紹

參照BattleScars的博客,摘取其中對本文有用的部分進行運用,博客鏈接如下,質量非常之高,表示感謝?。?!

https://www.jb51.net/article/183540.htm

(1)針對一個完整的、單一的.cpp文件,helloworld.cpp,其編譯指令如下。

$ g++ helloworld.cpp

編譯器g++通過檢查命令行中指定的文件的后綴名可識別其為C++源代碼文件。編譯器默認的動作:編譯源代碼文件生成對象文件(object file),鏈接對象文件和c++庫中的函數(shù)得到可執(zhí)行程序。然后刪除對象文件。由于命令行中未指定可執(zhí)行程序的文件名,編譯器采用默認的a.out。程序的運行方式如下,

$ ./a.out

如果要指定可執(zhí)行程序的文件名,使用 "-o"參數(shù),如下,

$ g++ -std=c++11 helloworld.cpp -o helloworld

暫時了解到這里就可以了,在編譯多個源文件生成可執(zhí)行程序時,可參照上述博客內容。

(2)g++相關參數(shù)的意義

參考了此貼,表達感謝!

https://www.jb51.net/article/183542.htm

1 g++ -I[path](大寫的i,即include path) 編譯程序按照指定的路徑去搜索頭文件,指定的路徑為第一個去尋找的路徑,eg

g++ -I/usr/include

2 g++ -L[lib](大寫的L) 編譯程序按照-L指定的路徑進去尋找文件,一般的在-L的后面可以一次用-l指定多個庫文件 ,eg

g++ -L/usr/lib/x86_64-linux-gnu

3 g++ -l [掐頭去尾的庫名](小寫L) 編譯程序到系統(tǒng)默認路徑尋找?guī)煳募?,庫文件的格式如下?/p>

g++ -lz #庫文件的名稱為libz.so,庫名為z

如果找不到,那么到當前目錄下找;如果還找不到,那么到LD_LIBRARY_PATH等環(huán)境變量置頂?shù)穆窂街腥ゲ檎?;如果仍然找不到,那么編譯程序提示找不到庫。

2 .json文件參數(shù)的意義

VSCode采用.json結尾的文件作為配置文件,包含關鍵詞和相關參數(shù)兩個部分。以本人編寫的opencv中的參數(shù)文件為例進行解釋,如下。

(1)launch.json

參考了VSCode官網上的兩個帖子,鏈接如下。

https://code.visualstudio.com/docs/languages/cpp # c++編程環(huán)境配置https://code.visualstudio.com/docs/editor/debugging#_launch-configurations #詳細解釋了launch.json中的參數(shù)的含義

為了能夠debugging,需要生成一個launch.json文件,Linux下VSCode支持的的調試器為GDB,配置時點擊configure按鈕并選擇 c++(GDB/LLDB),即可創(chuàng)建一個launch.json文件.

其中,preLauchTask可將launch.json和tasks.json文件關聯(lián)起來,用于在調試前完成build任務。

{
 // 使用 IntelliSense 了解相關屬性。 
 // 懸停以查看現(xiàn)有屬性的描述。
 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
 "name": "(gdb) Launch", // 強制:就一個名字而已,但是是必須要有的
 "type": "cppdbg", // 強制:調試器的類型,Node debugger for node, php for PHP , go for GO 
 "request": "launch", // 強制:launch/attach
 "program": "${workspaceFolder}/${fileBasenameNoExtension}.out", // 可執(zhí)行文件的路徑
 "miDebuggerPath": "/usr/bin/gdb", // 調試器的位置
 "preLaunchTask":"build", // 調試前編譯任務名稱
 "args": [], // 調試參數(shù)
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}", // 當前工作目錄
 "environment": [], // 當前項目環(huán)境變量
 "externalConsole": true,
 "MIMode": "gdb", // 調試器模式/類型
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ]
 }
 ]
}

(2)tasks.json

參考了VSCode的兩個文檔,鏈接如下。

https://code.visualstudio.com/docs/languages/cpp # c++配置環(huán)境中的例子https://code.visualstudio.com/docs/editor/tasks#vscode # 專門介紹tasks.json的

想從VSCode中構建應用程序,必須要生成一個tasks.json文件。生成時,需要指定編譯器為"g++",并在args[]中編寫 g++編譯指令.

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0", 
 "tasks":[ // 可以有多個任務
 {
 "label": "build", // 編譯任務名
 "type": "shell", // 編譯任務的類型,通常為shell/process類型
 "command": "g++", // 編譯命令
 "args":[
 "-g", // 該參數(shù)使編譯器在編譯的時候產生調試信息
 "${workspaceFolder}/${fileBasename}", // 被編譯文件,通常為.cpp/.c/.cc文件等
 "-I", // include path指令
 "/usr/include", 
 "-L", // lib路徑
 "/usr/lib/x86_64-linux-gnu", 
 "-l", // 鏈接庫文件1
 "opencv_core", 
 "-l", // 鏈接庫文件2
 "opencv_highgui", 
 "-o", // 生成指定名稱的可執(zhí)行文件
 "${workspaceFolder}/${fileBasenameNoExtension}.out"           /* -g hello.cpp -I/usr/include -L/usr/lib/x86_64-linux-gnu -lopencv_core -o hello.out */
 ],
 "group": {
 "kind": "build",
 "isDefault": true
 }
 },
 {
 "label": "cmakebuild", 
 "type": "shell", 
 "command": "cd build && cmake ../ && make", // shell 編譯命令,做并運算,即前一命令執(zhí)行失敗,則后一命令也不執(zhí)行
 "args": []
 }
 ] 

}

(3)預定義變量的意義解釋

參考了該貼,表示感謝。

https://www.jb51.net/article/183162.htm

${workspaceFolder} :表示當前workspace文件夾路徑,如C:\Users\admin\Desktop\test
${workspaceRootFolderName}:表示workspace的文件夾名,如test
${file}:文件自身的絕對路徑,如C:\Users\admin\Desktop\test\.vscode\launch.json
${relativeFile}:文件在workspace中的路徑,如.vscode\launch.json
${fileBasenameNoExtension}:當前文件的文件名,不帶后綴,如hello/launch
${fileBasename}:當前文件的文件名,如 hello.cpp/launch.json等
${fileDirname}:文件所在的文件夾路徑,也即C:\Users\admin\Desktop\test\.vscode
${fileExtname}:當前文件的后綴,也即.json
${lineNumber}:當前文件光標所在的行號
${env:PATH}:系統(tǒng)中的環(huán)境變量

總結

到此這篇關于VSCode下.json文件的編寫之(1) linux/g++ (2).json中參數(shù)與預定義變量的意義解釋的文章就介紹到這了,更多相關VSCode .json文件編寫內容請搜索創(chuàng)新互聯(lián)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持創(chuàng)新互聯(lián)!

網站欄目:VSCode下.json文件的編寫之(1)linux/g++(2).json中參數(shù)與預定義變量的意義解釋
文章來源:http://aaarwkj.com/article42/gopsec.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供全網營銷推廣、建站公司電子商務、網站內鏈、App設計、動態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化
两性色午夜视频免费网站| 日本不卡一区二区在线视频| 精品人妻aⅴ一区二区| 亚洲最大黄色免费在线观看| 日韩黄色一级片免费看| 成人色视频免费在线观看| 欧美精品亚洲二区中文乱码| 欧美另类精品一区二区| 日韩在线不卡中文字幕| 伊人久久九九精品综合| 国产精品久久乱码综合| 亚洲欧美日韩性生活视频| 日韩在线不卡av一区二区 | 婷婷久久香蕉毛片毛片| 国产免费高清视频成人| 亚洲欧美日韩伦理一区| 国产精品专区日产一区| 黑人爆操中国女孩在线观看| 少妇一夜一次一区二区| 国产老熟女高潮精品视频网站免费| 日本人妻系列在线播放| 性色av人妻中文一区二区| 人妖激情一区二区三区| 国产精品无卡无在线播放| 高潮内射一区二区三区| 韩国久久久久三级成人| 欧美日韩在线观看黄色| 亚洲国产成人久久综合区| 国产精品国产三级国av麻豆| 亚洲欧美日韩综合久久| 中文字幕在线日韩精品| 天堂av在线播放观看| 久久精品人妻少妇一区二区| 色哟国产传媒视频在线观看| 免费国产网站在线观看不卡| 91熟女激情五月综合| 国产精品久久黑丝诱惑| 国产第一页国产第一页| 欧美亚洲一区二区三区精品| 黄色国产欧美国产亚洲| 欧美日韩精品国产精品|