我正在修改 CPP Arduino 库。 目的是在用户代码中添加主机名。
这是 Arduino 以太网库: Arduino Ethernet Library
我在我的源代码中使用了 ethernet.h。
在ethernet.h中有include语句。
#include "dhcp.h"
并且在 dhcp.h 中有宏。
#define HOST_NAME "MYBOARD"
在dhcp.cpp中使用了这个宏
#include "dhcp.h"
buffer[17] = strlen(HOST_NAME) ; // length of hostname + last 3 bytes of mac address
strcpy((char*)&(buffer[18]), HOST_NAME);
这个宏是否可以用变量替换,这样我就可以为 HOST_NAME 赋值是我的源代码?
例子。 在我的源代码中
variable_name ="MYBOARD1"
应该将值传递给 dhcp.cpp 中的 HOST_NAME
我不太了解 c++,需要有关示例代码的帮助。
谢谢
苏迪尔
最佳答案
#define
是预处理器指令(“宏”),而不是变量。您无法在运行时修改它。
一种可能性是将 #define HOST_NAME "MYBOARD"
替换为您想要的任何内容。如果由于某种原因您无法执行此操作,请搜索使用 HOST_NAME
的位置并将其替换为您的自定义变量。如果没有其他详细信息,我无法为您提供更多帮助。
关于c++ - CPP - 在库中更改#define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075776/