现在,我正在尝试访问xv6用户程序中的makefile变量。在其他linux系统中,可以很容易地通过这样做来实现。
gcc -D MYVARIABLE=1 ...#include <stdio.h>,我可以访问MYVARIABLE。但在xv6中,没有。所以我不能访问MYVARIABLE。
如何才能访问MYVARIABLE??
发布于 2022-04-05 12:05:58
如果您使用这个repo:https://github.com/mit-pdos/xv6-public,您可以在CFLAGS声明中定义MYVARIABLE,接近第83行。
CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -O2 -Wall -MD -ggdb -m32 -Werror -fno-omit-frame-pointer
CFLAGS += $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)
# Your macro here
CFLAGS += -DMYVARIABLE=1在这个makefile中,不存在%.o: %.c规则:使用隐式规则:
n.o是使用表单$(CC) -c $(CPPFLAGS) $(CFLAGS)的命令从n.c自动生成的。
https://stackoverflow.com/questions/71737035
复制相似问题