社区
工具平台和程序库
帖子详情
有cpp和静态库同名 且有函数在 cpp中实现 在X32下能通过运行,在X64却不行
qilimi-1
2015-12-02 05:32:40
还有就是cpp实现了dhplay.h德 一个函数 就是fun
这只是一个测试,我想问一下,32位静态库在X64位中到底怎么编译的,为什么在32位中可以有cpp和静态库同名,但是在X64中却不可以
...全文
121
2
打赏
收藏
有cpp和静态库同名 且有函数在 cpp中实现 在X32下能通过运行,在X64却不行
还有就是cpp实现了dhplay.h德 一个函数 就是fun 这只是一个测试,我想问一下,32位静态库在X64位中到底怎么编译的,为什么在32位中可以有cpp和静态库同名,但是在X64中却不可以
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qilimi-1
2015-12-02
打赏
举报
回复
确实 是的 开始没往这方向想,实验了下 确实是库不能应用的问题
十分感谢
Saleayas
2015-12-02
打赏
举报
回复
32 位库在 64 位平台下不可以引用的。 必须要有一致的平台。
c++在一个
cpp
文件
中
调用另一个
cpp
文件的
函数
的两种方法
有时候写代码为了简便,会将一些
函数
方法单独在一个
cpp
的源文件
中
定义,然后在另一个源文件
中
需要用到自定义的
函数
时直接调用就可以了!学过c++的人可能最熟悉的方法还是利用头文件来进行调用,其实还有一种c语言当
中
的方法一般情况下同样可以适用与c++
中
! 方法1:创建头文件 举个简单的例子: 首先创建一个method.h头文件,声明一个求最大值的
函数
max(int x,int y),然后再创建一个
同名
的源文件method.
cpp
,在该文件
中
实现
函数
max(int x,int y)的功能。代码如下: //metho
C/C++多个链接库含有
同名
函数
,编译会报错吗
C/C++多个链接库含有
同名
函数
,编译会报错吗起因基本概念
同名
函数
测试测试1:`.o`目标文件测试2:
静态库
测试3:动态库
同名
函数
的应用 起因 由于业务需要,我司使用了Mellanox某闭源C++程序,Mellanox推荐的定制化开发方法是:对其链接的动态库进行定制化开发,以添加额外的功能。 在方案讨论阶段,发现很多同事对动态库/
静态库
所代表的的含义并不十分清楚,特别是当
同名
函数
存在时,编译、链接、
运行
的结果是什么也没有明确的认识,故写下这篇文章。 基本概念 程序
函数
库可分为下面几种类型: 静态
函数
库(
同名
函数
的调用问题
函数
可以定义在3个地方1. 程序自身2.
静态库
3. 动态库因为
静态库
是要链进程序的,所以
函数
定义在程序和
静态库
可以看成是一样的
同名
函数
出现在程序和
静态库
中
,链接时会报重定义的错误。
同名
函数
出现在动态库
中
,编译链接都可以通过,但是调用会出问题,会出现覆盖问题。定义在这3个地方的
函数
,会调用哪个
函数
呢?经过测试,得出下面的结论:1. 程序和
静态库
定义了
同名
函数
,链接报错:重定义2. 程序或
静态库
定义
不同
cpp
文件存在
同名
函数
问题的解决办法记录
(1)在修饰变量的时候,static 修饰的静态局部变量只执行初始化一次,而且延长了局部变量的生命周期,直到程序
运行
结束以后才释放。(2)static 修饰全局变量的时候,这个全局变量只能在本文件
中
访问,不能在其它文件
中
访问,即便是 extern 外部声明也不可以。(3)static 修饰一个
函数
,则这个
函数
的只能在本文件
中
调用,不能被其他文件调用。static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。初始化的时候自动初始化为 0。
C 多个动态库存在
同名
函数
问题处理方法:-fvisibility=hidden
前言 在使用多个动态库时,两个动态库之间有可能存在相
同名
称的
函数
,这样会出现只有第一个
函数
生效,即所有对该
函数
的调用都将指向第一个加载的动态库的
同名
函数
中
。这样就会很混乱,而且在想改名称也不是很简单的情况下就会很麻烦(例如
同名
函数
太多,甚至就是模板)等等。 处理方法 这里只找到一种处理方法,当然你直接把名字改成不一样或者统一添加前缀(例如C++ namespace)也不错。方法如下: -...
工具平台和程序库
24,853
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章