examples/cmake/visibility/app/main.cpp

19 lines
569 B
C++

#include <printer/printer.h>
#include <iostream>
int main() {
Printer p;
p.print("hello", Color::Green);
// COLOR_ENABLE_BRIGHT 是 color 的 PUBLIC 宏,
// 顺着 app → printer → color 传播到这里,本分支会被编译进去:
#ifdef COLOR_ENABLE_BRIGHT
std::cout << brightColorCode(Color::Red) << "bright red" << "\033[0m\n";
#endif
// PRINTER_TIME_FORMAT 是 printer 的 PRIVATE 宏,这里看不见:
#ifdef PRINTER_TIME_FORMAT
std::cout << "leaked!\n"; // 永远不会被编译进去
#endif
return 0;
}