【问题标题】:what does <built-in>, <command-line> mean in a c-preprocessor output file<built-in>, <command-line> 在 c 预处理器输出文件中是什么意思
【发布时间】:2017-08-12 18:19:46
【问题描述】:

我在 Makefile 中遇到了以下内容:

CPP    =cpp
GFLAGS =-traditional-cpp -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP   \
-DWM_LABEL_SIZE=32 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32

op1: ./Make/options
@$(CPP) $(GFLAGS) ./Make/options | sed -e 's@   *@ @g' > op1

./Make/options中的内容如下:

EXE_INC = -I$/project/src/finiteVolume/lnInclude
EXE_LIBS = -lfiniteVolume 

查看生成的op1文件,内容如下:

# 1 "options"
# 1 "<built-in>"
# 1 "<command-line>"
# 8 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4

# 17 "/usr/include/stdc-predef.h" 3 4

我终于知道这与c-preprocessor有关。我不知道那些是什么意思。任何人都可以通过这样做来解释它试图做什么?

【问题讨论】:

  • 参见gnu.org/software/make/manual/make.html 获取 GNU make 手册。如果您有更具体的问题,请提出。
  • 我翻遍了手册。我没有找到与我的问题相关的内容。 @melpomene
  • 你有什么问题?
  • 我的问题是为什么它使用 cpp -traditional-cpp -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 而不是使用 g++ -traditional-cpp -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32。我不太明白cpp的意思。
  • 这与make 有什么关系?您是否尝试阅读 cpp (man cpp) 的手册?

标签: c-preprocessor


【解决方案1】:

cpp 是 C 预处理器。这个特定的 makefile 似乎使用cpp(和sed)从./Make/options 文件生成文件op1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    相关资源
    最近更新 更多