【编译器】VSCODE编译C语言
文章目录
- @[TOC](文章目录)
- 前言
- 一、下载配置
- 二、代码
- 1.main.c
- 2.lanuch
- 3.task
- 三、编译运行——方法一:编译器运行
- 1.编译:终端-运行生成任务(ctrl+shift+B)
- 2.运行:运行-启动调试(F5)
- 四、编译运行——方法二:指令
- 1.生成exe
- 2.运行exe
- 五、多文件调试
- 1.main.c
- 2.test1.c
- 3.test1.h
- 4.launch.json
- 5.task.json
- 六、参考资料
- 总结
文章目录
- @[TOC](文章目录)
- 前言
- 一、下载配置
- 二、代码
- 1.main.c
- 2.lanuch
- 3.task
- 三、编译运行——方法一:编译器运行
- 1.编译:终端-运行生成任务(ctrl+shift+B)
- 2.运行:运行-启动调试(F5)
- 四、编译运行——方法二:指令
- 1.生成exe
- 2.运行exe
- 五、多文件调试
- 1.main.c
- 2.test1.c
- 3.test1.h
- 4.launch.json
- 5.task.json
- 六、参考资料
- 总结
前言
使用工具:
1.ARM仿真器/J-OBV2仿真器
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载配置
Release of 14.2.0-rt_v12-rev0
网络上很多了,可以参考引用文章配置
二、代码
1.main.c
#include <stdio.h> //io头文件用于调用 printf函数
#include <stdlib.h> //lib头文件用于调用system函数
//主函数
int main()
{
printf("hello world\n"); //打印hello world \n为换行符
system("pause"); //暂停运行,否则直接运行完程序会直接关闭窗口(vscode需要,其他编译器看情况)
}
2.lanuch
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"externalConsole": true,
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
3.task
单文件不需要task
三、编译运行——方法一:编译器运行
1.编译:终端-运行生成任务(ctrl+shift+B)
2.运行:运行-启动调试(F5)
四、编译运行——方法二:指令
1.生成exe
gcc test.c -o test
2.运行exe
./test
五、多文件调试
1.main.c
#include <stdio.h>
#include "test1.h"
#include <stdlib.h>
int main(void)
{
printf("hello world\r\n");
test();//此函数在test1.c中实现,在test1.h中声明
system("pause");
return 0;
}
2.test1.c
#include "test1.h"
#include <stdio.h>
void test(void)
{
printf("this is test\r\n");
}
3.test1.h
void test(void);
4.launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"externalConsole": true,
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}\\${workspaceRootFolderName}.exe",
"MIMode": "gdb",
//"miDebuggerPath": "C:/TDM-GCC-64/bin/gcc.exe",
"miDebuggerPath": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
5.task.json
注意,这个地方我使用"${workspaceFolder}/*.c",会报错,所以改为每个文件添加
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "C:/TDM-GCC-64/bin/gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
//"${workspaceFolder}/*.c",
"${workspaceFolder}\\main.c",
"${workspaceFolder}\\test1.c",
"-o",
"${workspaceFolder}/${workspaceRootFolderName}.exe",
],
"options": {
"cwd": "C:/TDM-GCC-64/bin/"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
六、参考资料
VScode任务配置详解(task.json与launch.json)
Windows系统中vscode的c/c++开发环境配置(三):多文件编译和调试
VSCode中的tasks.json配置为*.c后发现报错 fatal error: *.c: Invalid argument compilation terminated.
VScode搭建C/C++开发环境
使用Vscode创建一个C_Hello程序
总结
本文仅仅简单介绍了【编译器】VSCODE编译C语言,评论区欢迎讨论。