我有一个包含常量 F_CPU 的头文件,我使用了宏保护
标题.h
#ifndef F_CPU
#define F_CPU 1000000UL
#endif
和source.c文件
#define F_CPU 16000000UL
#include "header.h"
第一个宏(在 c 文件中)如何扩展尚未包含的值?
最佳答案
使用预处理器的 -E 选项来跟踪发生的情况。您在 source.c 的第一行定义 F_CPU 宏,之后当包含头文件时,由于 #ifndef 保护,头文件中的宏定义不会发生。请注意,您的代码中没有宏扩展。使用宏时会发生扩展。
关于c - 预处理器如何进行扩展(在包含的头文件中定义宏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23216483/