如何访问xv6中的makefile变量



现在我正在xv6中尝试访问用户程序中的makefile变量。在其他linux系统中,通过进行可以很容易地实现

  1. 在makefile中,定义gcc -D MYVARIABLE=1 ...
  2. 在我的linux用户程序中,通过定义#include <stdio.h>,我可以访问MYVARIABLE

但在xv6中,没有<stdio.h>。所以我无法访问MYVARIABLE

如何访问MYVARIABLE??

猜测您使用了此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

在该生成文件中,没有%.o: %.c规则:使用了隐式规则:

n.o通过$(CC) -c $(CPPFLAGS) $(CFLAGS)形式的命令从n.c自动生成

最新更新