1、用vscode对文件进行简单地编译:
-
创建一个目录demo1,并进入。然后打开vscode:
-
用C语言写完hello world之后,新建一个终端,代码下方就会出现一个终端窗口:
-
终端输入
gcc --version
检查一下你的gcc能否正常工作,第一次使用一般需要进行安装,终端输入sudo apt install gcc
进行安装:
-
安装完毕后,可以对文件进行编译,终端输入
gcc -g -o hello.out hello.c
将hello.c编译成二进制文件,-o后面是输出文件的名字,-g为了debug时能和源程序同时进行。
-
编译完成后可以看到demo1下出现了hello.out二进制文件。
-
终端输入
file hello.out
可以查看.out文件的类型,从而判断能否执行该文件。在linux下要执行一个文件,这个文件的扩展名可以不是exe,只要有可执行属性就行,注意有的程序规定必须用sudo的方式执行。 -
输入
./hello.out
执行该文件,./
的作用是指定当前目录,没有的话会报错“找不到”。下图是执行成功后终端出现的反馈:
2、vscode编译环境调试:
- 首先装上C/C++的扩展插件(图中第一个):
- tasks.json文件的设定:
找到view,其中的command palette。输入task,选择下拉菜单中的Configure Default Build Task(第一次 进行配置,以后就可以选择Run build task,热键为Ctrl+Shift+B),然后选择gcc build active file(不要选-7的,因为选这个之后即便gcc更新了他还会使用-7的gcc版本进行编译)。选完之后会出现tasks.json文件。
下面对tasks.json进行设定:
“label”处可以选择加上“My”,用以区分:
arguments里面的选项就是简单编译时输入的指令,${file}是源程序的文件名,顺序没关系,但要注意-o选项后是跟的是输出文件名,所以我们希望输出文件后缀为.out(不加的话输出的可执行文件就是hello),所以在末尾加上.out后缀。
tasks文件设定完,就可以用热键Ctrl+Shift+B进行编译了。
- c_cpp_properties.json文件的设定:
view中command palette选项输入C/C++,点击Edit Configurations(UI)找智能提醒的配置(IntelliSense)文件,也就是C/C++代码编写时的智能提醒的出处,文件打开一次即可,里面的设定已经配置好:
- debug的过程:
第一次,首先要找打开launch.json并进行配置:
选择C++(GDB/LLDB):
又双叒叕选gcc?!果断第二个:
然后生成了一个launch.json文件:
下面对launch.json文件进行配置:
名字加点特殊标识用以区分(比如前缀“My ”):
program要进行调试的输出结果,因为前面tasks文件中对输出文件的要求中加了.out所以这里也加上:
arguments中若需要输入命令行的参数,则可以在arg中加入(示例如图),在调试的时候加入的内容会自动加到可执行文件的后面,作为命令行的参数。
stopAtEntry把false改为true:
如果不想文件进行连接link(C语言中叫生成build),可以把如图一行代码注释掉。
以上对launch.json文件配置完毕,可以进行debug。
点击小虫子,在目标语句前面打个红色断点,然后点击绿色三角开始debug: