发新帖我要提问
12
返回列表
打印

问个问题 yyy71cj 关于keil库的!多谢

[复制链接]
楼主: xlsbz
手机看帖
扫描二维码
随时随地手机跟帖
21
xlsbz|  楼主 | 2011-4-20 23:54 | 只看该作者 回帖奖励 |倒序浏览
这个库 咋弄?  好像是无解吧。。。。

刘前辈 你好像一直不知道在谈论啥啊。

使用特权

评论回复
22
xlsbz|  楼主 | 2011-4-21 00:03 | 只看该作者
可能我真的没搞明白咋弄吧

举个例子吧。。。

一个C文件叫做fun.c

里面内容是

void fun (void)
{
    int i = VALUE;   // 注意VALUE是个宏定义
}.
好,现在把fun.c这个文件弄i成库函数,fun.lib
那么以后再调用fun.lib   无论怎么让VALUE宏定义为多少  fun.lib内容都是无法改变的吧??

使用特权

评论回复
23
xlsbz|  楼主 | 2011-4-21 00:04 | 只看该作者
LZ 还没明白宏定义的概念:宏代换是在编译阶段才进行的,库函数里面的只是宏名,它不代表任何东东,只有在编译之后才代换为实际东东。

举例:#define  HONG  0x32
你修改宏定义至多是 :
#define  HONG     ……

...
刘前辈 发表于 2011-4-11 14:30


使用特权

评论回复
24
刘前辈| | 2011-4-21 10:58 | 只看该作者
本帖最后由 刘前辈 于 2011-4-21 11:02 编辑

void fun (void)
{
    int i = VALUE;   // 注意VALUE是个宏定义
}.
我这么写:

int fun ( int VALUE )
{
    int i = VALUE;   // 注意VALUE是个参数
return  i;

}.

把这个函数做库。

调用时:
#define   VALUE   1000
int fun(int);                           // 头文件里说明

main ( )
{
int aaa;
aaa=fun( VALUE );
}


//

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则