将编译器的 -D 标志硬编码到源文件中的最佳方法是什么?
我想将#define 放在其中一个标题中,然后导入一堆应该对该定义做出反应的东西。它是这样工作的吗?我应该放哪个标题?还是直接到main.c?还是对他们所有人?
TMI 详细信息:这里的环境是 digispark hw-018(带有内置 USB 编程器的 attiny85),#define 应该替换 -DUSE_SOFTWARE_SPI,这样我就可以在 SPI 模式下使用 AVR-CAN 库从 MCP2515 读取内容。
编辑:经过一些恼人的撞墙后,main.c 的顶部现在看起来像这样,但它仍然无法正常工作。
#define USE_SOFTWARE_SPI
#include "src/can.h"
#define USE_SOFTWARE_SPI
#include <avr/io.h>
#define USE_SOFTWARE_SPI
#include <avr/pgmspace.h>
#define USE_SOFTWARE_SPI
#include <DigiUSB.h>
我说得对,有些东西在某处覆盖了我的定义?如果我在#ifndef(或#ifdef)之前硬编码#define USE_SOFTWARE_SPI,它就可以工作