提供.lib库怎么实现可配置性?

2019-12-12 18:17发布

假设对外提供mylib.lib和mylib.h,

其中mylib.h中我想给用户一个可以设置的参数,

首先想到了宏定义,例如:#define        xxx   20,

但是实际运行显示修改不了,用户修改后,例如:#define        xxx   200,打印xxx出来,还是20,

请教大家有没有好的办法?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
huangqi412
1楼-- · 2019-12-12 21:03
宏定义当然不行
prince2010
2楼-- · 2019-12-13 02:46
 精彩回答 2  元偷偷看……
wx-ta
3楼-- · 2019-12-13 07:49
不能用宏,宏在编译库的时候就已经被展开成具体值了,你要修改库的参数可以用库里面的函数
库里面这样写:
static int speed = 5;
void set_speed(int s)
{
    speed = s;
}

外部调用的时候直接:
set_speed(10);
love_ourdev
4楼-- · 2019-12-13 11:16
参考RL-TCP库的实现就行了,非常简单;还有emWin,是另一种方式。
aasf3
5楼-- · 2019-12-13 17:14
用const常量可以搞定。
在.h文件中 #define xxx  20
在.c文件中,const u8 xxxx = xxx
然后这个.c文件要开放出来
qtechzdh
6楼-- · 2019-12-13 17:25
多定一个一个api,一个参数结构体,把参数一次性传递进去

一周热门 更多>