| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:如何将库函数外的定义传到库内
只看楼主 加入收藏
zhaowei49
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-9
收藏
 问题点数:0 回复次数:6 
如何将库函数外的定义传到库内
各位大侠;
    我编了一个C函数文件,实现了一个标准协议,测试完成后,开放给大家试用。
    但是问题来了,有些人自认为水平很高,随便就更改你的代码,搞不定了,又来找你,还到处说你代码不好,真是不胜其烦。
    后来我就将代码做了一个库,给封了起来,将可以设置的参数通过变量传进去。这下事情少多了。
    现在我新增了一个功能,在库内增加了设置检查如下:
     问题是: #define确定的参数(如HC9S12XET256变为1)在库文件建立后无法传到库内。代码如下:
   
    1、在macro define.h文件中:
    //************************CPU checked ********************************************************************************/

     #define HC9S12XET256      0

     #define HC9S08DZ60        0

     #define MPC5606B          1

    2、在integratedlid.lib   中:
   
     #if ((HC9S12XET256==0)&&(HC9S08DZ60==0)&&(MPC5606B==0))
     #error "CPU model isnot selected, please check!"
     #endif

     问题是: #define确定的参数(如HC9S12XET256变为1)在库文件建立后无法传到库内。
搜索更多相关主题的帖子: 如何 
2014-11-10 15:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
需要動態改變的數據是不能用#define寫的

授人以渔,不授人以鱼。
2014-11-10 15:29
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
使用函数参数来传递

DO IT YOURSELF !
2014-11-10 15:30
zhaowei49
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-9
收藏
得分:0 
回复 2 楼 TonyDeng
我写的是一个标准函数,同事都可以用。
但是有的同事是8 bit cpu(HC9S08DZ60),有的是16 bit cpu(HC9S12XET256),有的是32 bit cpu(MPC5606B) ,不同的cpu的复位代码不同,需要对应不同的库内的预编译复位代码,但是库文件一旦完成后,就不能改变;就是制库是选的是8 bit cpu(HC9S08DZ60),后来在使用中改为16 bit cpu(HC9S12XET256)是不行的,我只有重做一遍库,我想从中解脱出来,大侠有没有高招!
2014-11-10 15:49
zhaowei49
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-4-9
收藏
得分:0 
回复 3 楼 wp231957
能不能给个示例,谢了!
2014-11-10 15:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你這個是根據機器環境變化的,需要類似sizeof()的機制,你測試一下在不同機器上sizeof()這個數據類型的結果是不是滿足要求,不需要用預定義。如果沒有針對你這種機器的編譯器,就需要自己寫代碼檢測機器環境,根據檢測結果賦値。

[ 本帖最后由 TonyDeng 于 2014-11-10 15:58 编辑 ]

授人以渔,不授人以鱼。
2014-11-10 15:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 5 楼 zhaowei49
这个我哪里示例的了啊   我又不懂你的那些东东

假定你的函数 A(参数1,参数2.。。。。)   再增加一个参数A(参数1,参数2.。。。。参数N:CPU复位代码)

DO IT YOURSELF !
2014-11-10 15:55
快速回复:如何将库函数外的定义传到库内
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027418 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved