请教,如何在工程中修改引用库文件内已经被宏定义的值

2019-12-12 18:21发布

请教各位大侠了

前提 Buf 只在链接库里面使用

如库文件内,定义数组大小为16,但实际工程应用的时候根据情况重新修改为其它值,请教如何操作
#define MEM_SIZE        16          //在库文件内被定义的值
static u32 Buf[MEM_SIZE];    //此缓冲对外不能访问,只在库内使用,MEM_SIZE需要重新定义,能实现吗?


我尝试过在用户工程中用undef,但是实际编译后,仍是库里定义的16,有办法重新定义吗?
#undef MEM_SIZE
#define MEM_SIZE        25
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
wye11083
1楼-- · 2019-12-12 21:41
undef之后仅对当前文件从下一个define到下一个undef或eof有效。对其它文件无效。.h文件从引用地方开始算。所以你还是去找找-DMEM_SIZE编译选项吧。
ztrx
2楼-- · 2019-12-12 22:24
本帖最后由 ztrx 于 2018-11-12 21:10 编辑

库里 #ifndef...#define...#endif 行不行
应该不行
way2888
3楼-- · 2019-12-13 04:22
 精彩回答 2  元偷偷看……
dreambox
4楼-- · 2019-12-13 08:08
库已经编译过了,宏定义已经没效果,编译库的时候宏是怎样定义的就是怎样的,后面改宏是影响不到库的
dadatou
5楼-- · 2019-12-13 13:34
此题无解,楼上说得完全正确:库已经编译过了,编译之前宏定义是什么样子,那么库里面就是什么样子。
ztg328
6楼-- · 2019-12-13 16:28
也遇到这个问题 mark下

一周热门 更多>