关于库得一个问题,来者有分

foolfox008 2003-08-21 03:50:50
比如,现在我有个很大的程序,其中有printf之类的,输出到显示屏。我现在想自己写一个printf,做成一个库,让原来得程序编译链接得时候用到printf的时候都是调我重写的printf,而不是标准库中的。可行么?
或者说,我有两个库,两个库中包含想通函数名的函数,比如库a中有printf,b中也有我编译的时候怎么作才能确保我用的是a中的库?不论是静态库还是dll
...全文
57 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolfox008 2003-08-21
  • 打赏
  • 举报
回复
没办法,那就采用aimheliopause(voyager)的试试吧
kaolaxiong 2003-08-21
  • 打赏
  • 举报
回复
刚学,还不懂
fancy123 2003-08-21
  • 打赏
  • 举报
回复
如果你的程序中同时包含了"stdio.h"和"a.h",就会出现函数名冲突的问题.
我同意aimheliopause(voyager) ,灵活调用.不过程序可能让人读的莫名其妙.
foolfox008 2003-08-21
  • 打赏
  • 举报
回复
没办法,是这样的,我现在想直接得到人家现有的一个有源代码的程序,那个程序的输出都是用printf,我现在想自己作一个printf替换原程序的,目的是为了更快的得到那个程序的输出结果,我自己处理。所以必须用同名的函数,还是纯c的,没有重载之说,我记得
c语言编译的时候,应该是链接过程中在前面的库先被链接,就是说我自己写一个库,链接得时候把我的库放在标准库之前就可以,是不是?不过老是重复包含错误……不太懂
Dragon132 2003-08-21
  • 打赏
  • 举报
回复
你可以用大小写来区分啊
aimheliopause 2003-08-21
  • 打赏
  • 举报
回复
#ifdef __USE_MY_PRINTF__
#define printf myprintf
#else
#define printf printf
#endif
njtu 2003-08-21
  • 打赏
  • 举报
回复
像这样定义同名函数本身设计的就不合理,应该避免使用同名函数(如果不是重载的话)。
可以像下面这样处理:
1。使用不同的名字空间。
2。使用使用typedef定义函数指针,来达到灵活调用的目的。
foolfox008 2003-08-21
  • 打赏
  • 举报
回复
你说的就是那个#ifndef #enif么?
我想写一个函数和已有库中的函数同名,其它的函数还是用原来库中的,我该怎么办?
jack_wq 2003-08-21
  • 打赏
  • 举报
回复
自己写函数库当然可以,不过建议用宏预编译防止重复包含!

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧