下面是关于“VSCode下.json文件的编写之(1) linux/g++ (2).json中参数与预定义变量的意义解释”的完整攻略。
1. 简介
首先,我们应该知道,.json文件是一种轻量级的数据交换格式,可用于跨语言和跨平台传输数据,并且在VSCode中可以用来配置我们的编译环境。
在这个话题中,我们会讲解两个方面的内容:
- (1) linux/g++ - 这是VSCode中预设的常用编译环境之一。我们会讲解如何在VSCode中使用这个编译环境进行代码编译;
- (2) .json中参数与预定义变量的意义解释 - 我们会讲解.json中的各个参数和预定义变量的含义和作用,以便更好地理解和配置.json文件。
2. linux/g++ 环境配置
在VSCode中使用linux/g++环境进行代码编译非常简单,只需满足以下两个条件即可:
- 在系统中已安装g++编译器;
- 在VSCode中安装了C++插件。
在满足上述条件的前提下,我们可以按照以下步骤进行环境配置:
1. 打开VSCode,并进入需要编译代码的工作目录;
2. 在左侧侧边栏中选择Debug(调试)标签页;
3. 点击齿轮按钮,在下拉菜单中选择C++(GDB/LLDB);
4. 这时,VSCode会自动生成一个名为“launch.json”的文件,并自动填充了一些默认配置;
5. 将"preLaunchTask": "C/C++: g++ build active file"
中的g++
修改为linux-g++
即可,这样就可以使用linux/g++环境进行编译了。
示例代码:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
3. .json中参数与预定义变量的意义解释
为了更好地理解和配置.json文件,我们需要了解一些.json中的参数和预定义变量的含义和作用。
3.1. parameters
parameters(数组)是.json文件中比较重要的参数,它包含了编译所需要的所有参数,例如头文件路径、库文件路径、编译命令等等。下面是一个.parameters的示例:
"parameters": [
"-I${workspaceRoot}/include",
"-L${workspaceRoot}/lib",
"-lz",
"-Wl,-rpath=${workspaceRoot}/lib",
"${fileBasenameNoExtension}.c"
]
其中:
- -I
:表示头文件路径;
- -L
:表示库文件路径;
- -lz
:表示需要使用libz库;
- -Wl,-rpath=
:表示指定运行时链接库的路径;
- ${workspaceRoot}
:表示VSCode工作目录的根目录;
- ${fileBasenameNoExtension}
:表示当前文件的名称(不包含扩展名)。
3.2. configurations
configurations(数组)是.json文件中存储编译配置的地方,每一个配置都是一个对象。它包含了编译的名称、编译类型、编译目标、编译参数等信息。下面是一个.configurations的示例:
"configurations": [
{
"name": "g++ build active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: linux-g++ build",
"externalConsole": false
}
]
其中:
- "name": "g++ build active file"
:编译名称;
- "type": "cppdbg"
:编译类型;
- "request": "launch"
:编译请求类型;
- "program": "${fileDirname}/${fileBasenameNoExtension}"
:需要编译的文件的路径;
- "args": []
:编译命令行参数;
- "stopAtEntry": true
:是否在程序开始处停止;
- "cwd": "${workspaceFolder}"
:当前工作目录;
- "preLaunchTask": "C/C++: linux-g++ build"
:编译任务;
- "externalConsole": false
:是否在外部控制台中运行。
综合以上两个示例,可以参考下面的.json文件进行配置:
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ build active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: linux-g++ build",
"externalConsole": false
}
],
"tasks": [
{
"label": "C/C++: linux-g++ build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"${file}",
"-I${workspaceRoot}/include",
"-L${workspaceRoot}/lib",
"-lz",
"-Wl,-rpath=${workspaceRoot}/lib"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$gcc"
}
]
}
这个.json文件实现了使用linux/g++编译器进行代码编译,并将相关的头文件路径、库文件路径等参数设置好了。我们只需保存配置文件,点击左侧侧边栏中的Debug(调试)标签页,然后选择g++ build active file并按下F5,程序就会开始运行了。
希望我的讲解对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VSCode下.json文件的编写之(1) linux/g++ (2).json中参数与预定义变量的意义解释 - Python技术站