Jef*_*ffV 3 c embedded include
这个构造在ac文件中的目的是什么?:
#define _TIMERC
#include "timer.h"
#undef _TIMERC
Run Code Online (Sandbox Code Playgroud)
我知道防止多个包含头文件的警卫.但这似乎并没有发生.
谢谢!
通常,库头文件会有多个选项,这些选项由宏定义启用和禁用。这将启用这样的选项。
更典型的是,通过配置构建系统将-D_TIMERC添加(例如使用 gcc)到编译器命令行,可以在全局范围内设置这些值。
这是一个场景来说明......
假设timer.h提供了一个宏tick_count(),它返回发生的定时器中断的数量.
一个模块(rpm_reader.h)使用定时器A进行间隔定时:
#define _TIMERA
#include "timer.h"
#undef _TIMERA
Run Code Online (Sandbox Code Playgroud)
在另一个模块(lap_time.h)中使用定时器C作为其间隔定时
#define _TIMERC
#include "timer.h"
#undef _TIMERC
Run Code Online (Sandbox Code Playgroud)
当rpm_ader调用tick_count()并且lap_time将从计时器C获得计数时,rpm_reader将从计时器A返回计时器计数.
(我对回答我自己的问题表示歉意,但是问这个问题有助于我得出这个启示.)