VSBコード下.jsonファイルの作成(1)linux/g+(2).jsonにおけるパラメータと事前定義変数の意味説明


0引用
linux/VSBCodeのプログラミングに移ってから、VSBCodeに関する配置ファイルの書き方を系統的に学習する必要があることが切実に分かりました。ここではlinux/g+コンパイルコマンド、jsonファイルのキーワード/置換変数の意味、コンパイルリンク過程の原理をいくつかの部分に分けて紹介し、opencvを例にして、上記の知識を総合的に運用します。
1 linux/g+コンパイル命令の紹介
BattleScarsのブログを参照して、ここで役立つ部分を抜粋して運用します。ブログのリンクは下記の通りです。品質が非常に高いです。ありがとうございます。
https://www.jb51.net/article/183540.htm
(1)完全な単一の.cppファイルに対して、hellworld.cppのコンパイル命令は以下の通りである。
$g++ハロルド.cpp
コンパイラg++は、コマンドラインで指定されたファイルの拡張子名を確認することにより、C++ソースコードファイルとして認識することができます。コンパイラのデフォルトの動作:ソースコードファイルをコンパイルしてオブジェクトファイルを作成し、リンク先ファイルとc++ライブラリの関数を実行できます。その後、オブジェクトファイルを削除します。コマンドラインに実行可能なプログラムのファイル名が指定されていませんので、コンパイラは標準のa.outを使用します。プログラムの運転方式は以下の通りです。
US./a.out
実行可能プログラムのファイル名を指定する場合は、以下のように「-o」パラメータを使用します。
$g++-std=c+11ハロルド.cpp-oハロルド
ここを一時的に理解すればいいです。複数のソースファイルをコンパイルして実行可能なプログラムを生成するときは、上記のブログの内容を参照することができます。
(2)g++関連パラメータの意味
このシールを参考にして、ありがとうございます。
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/x 86_64-linux-gnu
3 g++-l[前後を絞る倉庫名](小文字L)コンパイルプログラムはシステムのデフォルトパスにライブラリファイルを探しに行きます。ライブラリファイルのフォーマットは以下の通りです。
g++-lzライブラリファイルの名前はlibz.soで、倉庫名はzです。
見つけられないなら、現在のディレクトリの下で探します。まだ見つけられないなら、LD_LIBRARY_PATHなどの環境変数がトップに置く経路で検索します。まだ見つからないなら、コンパイルプログラムのヒントがライブラリに見つからないです。
2.jsonファイルパラメータの意味
VCodeは.jsonの終わりのファイルを構成ファイルとして採用して、キーワードと関連しているパラメーターの2つの部分を含みます。本人が作成したopencvのパラメータファイルを例に説明します。
(1)launch.json
VCode公式サイトの2つの投稿を参考にしました。リンクは以下の通りです。
https://code.visualstudio.com/docs/languages/cpp菘c+プログラミング環境構成https://code.visualstudio.com/docs/editor/debugging#_launch-configrations铅はlaunch.jsonのパラメータの意味を詳しく説明しました。
debuggggができるためには、launch.jsonファイルを作成し、LinuxでVSB Codeでサポートされている調合器をGDBとし、配置時にconfigureボタンをクリックしてc+(GDB/LLDB)を選択し、launch.jsonファイルを作成することができます。
このうち、preLauchTaskはlaunch.jsonとtask.jsonファイルを関連付けることができ、デバッグ前にbuildタスクを完了するために使用されます。

{
 //    IntelliSense       。 
 //             。
 //        ,   : 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", //         
 "miDebuggerPath": "/usr/bin/gdb", //       
 "preLaunchTask":"build", //          
 "args": [], //     
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}", //       
 "environment": [], //         
 "externalConsole": true,
 "MIMode": "gdb", //      /  
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ]
 }
 ]
}
(2)task.json
VCodeの2つのドキュメントを参考にしました。リンクは以下の通りです。
https://code.visualstudio.com/docs/languages/cpp菘c+配置環境における例https://code.visualstudio.com/docs/editor/tasks#vscode 璣専門的にtasks.jsonのを紹介します。
VCodeからアプリケーションを構築するには、tasky.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", //                    
 "${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", //             
 "${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     ,    ,         ,         
 "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}:        
締め括りをつける
以上、VCodeの下で.jsonファイルの作成について(1)linux/g+(2).jsonのパラメータと定義変数の意味解釈についての文章を紹介します。VCode.jsonファイルの作成内容は以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。