接近90%的代码已经在《基于C语言自制编程语言》这本书中完成, 我又在其上修复了我看见的bug,解决了内存泄漏问题,最重要的加上了大量的单元测试,以及添加了更多的功能(switch,elseif,字段默认的getter,setter,更友好的报错信息,解除函数需要显示指定"call"调用的限制,写回操作符,后缀操作符)使它更像我们平时熟悉的脚本语言(比如JavasScript)
- 开发环境Ubuntu18.04(WSL)
- gcc
- make
在项目根目录下运行即可make test
如果你用的编辑器是vscode可以在项目根目录下建立.vscode
文件夹
在其中新建一个launch.json
, 其中program
字段就是要调试的可执行文件
args
字段是一个数组它是要传给可执行文件的参数,配置好launch.json
后
并且GDB已经安装的话按F5即可开始调试。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Linux GDB",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/spr",
"args": ["samples/a.sp"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"console": "externalTerminal",
"MIMode": "gdb",
"setupCommands": [
{"text":"handle SIGUSR1 nostop noprint"},
]
}
]
}
如果你用的编辑器是vscode,那是因为编辑器将C的头文件按照C++解析了,可以在.vscode
中新建settings.json
,在这个文件里显示指明文件是C文件即可,比如下面的json就指明了obj_thread.h
是C文件
{
"files.associations": {
"obj_thread.h": "c",
}
}