c语言中不同静态库相同函数问题
在使用两个第三方库,静态库,libd3p, libapp,
这两个库中有很多相同的名字的函数参数和返回值声明也是相同的,但是实现是不同.
例如,
有这样一个函数 void Opend3plotfile(char* name);
它并不是这两个静态库的接口,是在内部被调用.
这个函数,在libd3p, 和libapp中有不同的实现.
debug的问题:
当使用libd3p的接口时, 设
InitLib()
{
//调用到
Opend3plotfile();//本应该使用在libd3p内部的实现, 但是跟踪发现跑到libapp中的实现,引起crash
}
有没有什么办法解决这个问题? 这些代码是纯c的,貌似不能支持namespace.
另外这样的重复函数有上百个,有没有什么简洁的方案fix. 期待大牛,谢谢!!!!!
这两个库中有很多相同的名字的函数参数和返回值声明也是相同的,但是实现是不同.
例如,
有这样一个函数 void Opend3plotfile(char* name);
它并不是这两个静态库的接口,是在内部被调用.
这个函数,在libd3p, 和libapp中有不同的实现.
debug的问题:
当使用libd3p的接口时, 设
InitLib()
{
//调用到
Opend3plotfile();//本应该使用在libd3p内部的实现, 但是跟踪发现跑到libapp中的实现,引起crash
}
有没有什么办法解决这个问题? 这些代码是纯c的,貌似不能支持namespace.
另外这样的重复函数有上百个,有没有什么简洁的方案fix. 期待大牛,谢谢!!!!!
...全文
相关推荐
C面试题库与核心知识点深度解析项目_涵盖C内存管理static关键字详解指针常量与常量指针辨析动态库与静态库对比面向对象编程多态与继承虚函数与纯虚函数模板与泛.zip
面向对象编程(OOP)是现代编程语言不可或缺的特性之一,其中多态性和继承是实现代码复用、提高可维护性的关键技术。多态让不同对象能够响应相同的消息,而继承则让子类能够重用父类的属性和方法。
C 语言编程 — 静态库、动态库和共享库
目录 文章目录目录C 语言的库静态链接库生成静态链接库动态链接库生成动态链接库 C 语言的库 C 语言的库有两种,静态链接库和动态链接库。在 Linux 中,静态链接库命名为 lib*.a,动态库为 lib*.so。这些库文件存在的价值就是抽象出通用的函数,避免重复造轮子。不管是使用哪一种库,程序员必须在程序中通过 include 来包含相应的头文件,并在预编译阶段替换 include 的内容,然后在链接阶段将调用到的库函数从各自所在的档案库中链接到合适的地方。 静态链接库 静态链接,即:在链接阶段,将源
C语言常见问题.rar
C语言是一种基础且强大的编程语言,它以其简洁的语法、高效执行和广泛的应用场景而闻名。在学习和使用C语言的过程中,人们经常会遇到各种问题,这些问题涵盖了语法、内存管理、指针操作、函数调用等多个方面。
c语言入门课件
**结构体与联合体**:结构体允许将不同类型的数据组合在一起,而联合体则是在同一内存位置存储不同类型的变量。理解它们的使用和内存布局有助于深入理解C语言。6.
C语言部分答案1
**结构体与联合体**:结构体允许将不同类型的变量组合成一个复合数据类型,联合体则允许在相同内存空间内存储不同数据类型。5.


