我参加了一门 CPP 语言课程,我试图了解 makefile 中“subst”的使用(一般情况)以及该 makefile 中的具体用途。
我尝试用谷歌搜索“subst”的用法,但没有找到。
CXX=clang++-5.0
RM=rm -f
CPPFLAGS=-std=c++17
ifndef MAIN
MAIN=./main.cpp
endif
MAINEXECUTABLE=$(subst .cpp,,$(MAIN)).exe
SOURCES=$(MAIN)
all: $(MAINEXECUTABLE)
$(MAINEXECUTABLE)
$(MAINEXECUTABLE): $(SOURCES) $(HEADERS)
$(CXX) $(CPPFLAGS) $(SOURCES) -o $(MAINEXECUTABLE)
clean:
$(RM) *.exe a.out *.class *.ppm
Run Code Online (Sandbox Code Playgroud)
该 makefile 是通用 makefile,可用于编译任何单个 cpp 文件。
如果我在 C 程序中定义一个 char 指针并将其初始化为“某个字符串”
有人可以解释一下应该在其中保存地址的 char 指针如何在其中保存字符串吗?
这不是和指针的定义矛盾吗?我在这里缺少什么?
例如 :
char pointer=" how is it possible at all ? ";
printf("%s",pointer);
Run Code Online (Sandbox Code Playgroud)