虚拟机
用VMware Workstation 17 Player,安装centos7,安装gcc等开发工具
设置虚拟机的共享文件夹,将win10下下载的chibicc拷贝到/home/a下
直接make编译
用ip addr查询得到虚拟机的ip地址,后面vs远程开放时使用。
vs设置
vs毕竟是号称宇宙第一ide,虽然目前支持linux远程开发还有些bug,但多趟几个坑,基本都能用了。个人习惯了vs,也比较推荐。
在本地工程目录加一个CMakeLists.txt文件,内容如下:
cmake_minimum_required(VERSION 3.10)
project(chibicc)# Set C standard and compilation flags
set(CMAKE_C_STANDARD 11)
add_compile_options(-g -fno-common -Wall -Wno-switch)# Define source files
set(SOURCE_FILEStokenize.cunicode.chashmap.ctype.cmain.cparse.ccodegen.cpreprocess.cstrings.c
)# Create executable
add_executable(chibicc ${SOURCE_FILES})
以上设置完,就可以在win10 vs下进行本地虚拟机的linux c编译器代码的单步debug了。
vs编译输出路径在~/.vs/chibicc …/out/… 目录下。
测试使用chibicc
./chibicc --help 这个输出指示没问题,编译错误是test下的.c测试代码不全导致的。
以alignof.c为例,添加assert函数,修正如下:
#include "test.h"//add start
//#include "common"
void assert(int expected, int actual, char* code) {if (expected == actual) {printf("%s => %d\n", code, actual);}else {printf("%s => %d expected but got %d\n", code, expected, actual);exit(1);}
}
//add endint _Alignas(512) g1;
......
./chibicc -S …/…/…/src/test/alignof.c 可以输出asm文件。
./chibicc -c …/…/…/src/test/alignof.c 可以输出.o文件
./chibicc …/…/…/src/test/alignof.c 可以输出a.out文件
./a.out文件执行正常,chibicc编译运行测试通过。