OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8174|回复: 2

关于头文件里的宏定义常量被库函数里的函数调用问题

[复制链接]

5

主题

14

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2788
金钱
2788
注册时间
2014-7-5
在线时间
193 小时
发表于 2014-8-26 20:03:55 | 显示全部楼层 |阅读模式
5金钱
RT,假如有一个USER.C文件,内容为:
#include "XXX.H"

iint Add_Result(void)
{
return((PLUSE)+(PLUSE));
}

一个USER.H文件,内容为
#ifndef __USER_H__
#define __USER_H__

#define   PLUSE  1

int Add_Result(void);

#endif

其中USER.H文件又被MAIN.H包含,现在我把USER打包成LIB库,在添加到工程里,
那么我在MAIN.C里调用 Add_Result函数,当我改变PLUSE  这个宏定义的时候能否让Add_Result的返回值也编码,
我用KEIL C51测试下,Add_Result的返回值没有改变,一直保持生成LIB那次的值,请问版主及各位朋友,有知道的吗,谢谢大家了!


最佳答案

查看完整内容[请看2#楼]

LIB文件时不会再次被编译的.所以外部宏定义对lib文件无影响.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-8-26 20:03:56 | 显示全部楼层
LIB文件时不会再次被编译的.所以外部宏定义对lib文件无影响.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

14

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2788
金钱
2788
注册时间
2014-7-5
在线时间
193 小时
 楼主| 发表于 2014-8-31 19:33:08 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥!!!!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表