nuc501 发表于 2014-9-30 18:23:16

求助,MDK中LIB库函数替换

各位大神,请教一个问题,MDK中别人写好了的 LIB的库里面的函数我不想用,我怎么写一个函数替换掉他原来的函数??谢谢!原因是他库里面的函数调用了他库里面的另外一个函数,我想把他另一个函数给换掉,这样子他就调用我后面写的函数。

redroof 发表于 2014-9-30 18:46:12

你在你的程序里面定义一个同名的函数就行了。你自己定义的函数优先于系统库函数。

nuc501 发表于 2014-9-30 19:01:56

redroof 发表于 2014-9-30 18:46
你在你的程序里面定义一个同名的函数就行了。你自己定义的函数优先于系统库函数。 ...

会出现重定义!

security 发表于 2014-9-30 19:39:34

库里的函数要声明为弱函数,你才可以直接定义同名函数替换掉。c库就是这种机制,你这样的情况,lib没有声明为弱函数,要想替换,可以解析lib,直接篡改相应声明?但这显然繁琐,我想不出有何高招了

nuc501 发表于 2014-9-30 21:19:03

不能掉到下去了啊,要等着解决这个问题,不知道有没有那位大虾有通过LINK的办法解决的没有??

nuc501 发表于 2014-9-30 21:50:27

security 发表于 2014-9-30 19:39
库里的函数要声明为弱函数,你才可以直接定义同名函数替换掉。c库就是这种机制,你这样的情况,lib没有声明 ...

能介绍一下用什么软件串改LIB不??

security 发表于 2014-9-30 22:52:49

要这样的话,估计只有手动挡,得去了解lib的格式,编译原理,爱莫能助,在这里帮你顶顶,一起坐等高手妙招。不然的话,只能接受现状了。

star_tale 发表于 2014-10-1 04:53:42

已自己定义的为优先

funnybow 发表于 2014-10-1 12:11:59

security 发表于 2014-9-30 19:39
库里的函数要声明为弱函数,你才可以直接定义同名函数替换掉。c库就是这种机制,你这样的情况,lib没有声明 ...

弱函数第一次听到,求高手给我讲解一下

maimaige 发表于 2014-10-1 12:17:05

printf 的 getchar 是怎么实现的

maimaige 发表于 2014-10-1 12:17:37

putchar ,写错了

security 发表于 2014-10-1 14:37:01

funnybow 发表于 2014-10-1 12:11
弱函数第一次听到,求高手给我讲解一下

百度或者mdk帮助文档搜索下weak关键字,在那边会找到标准答案
页: [1]
查看完整版本: 求助,MDK中LIB库函数替换