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

[复制链接]
4927|23
 楼主| xlsbz 发表于 2011-4-20 23:54 | 显示全部楼层
这个库 咋弄?  好像是无解吧。。。。

刘前辈 你好像一直不知道在谈论啥啊。
 楼主| 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内容都是无法改变的吧??
 楼主| xlsbz 发表于 2011-4-21 00:04 | 显示全部楼层
LZ 还没明白宏定义的概念:宏代换是在编译阶段才进行的,库函数里面的只是宏名,它不代表任何东东,只有在编译之后才代换为实际东东。

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

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


刘前辈 发表于 2011-4-21 10:58 | 显示全部楼层
本帖最后由 刘前辈 于 2011-4-21 11:02 编辑

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

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

}.

把这个函数做库。

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

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


//
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部