linux - c/c++的标准库在连接的时候是静态连接还是动态连接?
ringa_lee
ringa_lee 2017-04-17 13:56:25
[Linux讨论组]
ringa_lee
ringa_lee

ringa_lee

全部回复(5)
天蓬老师

先说明,不管模板内部的实现调用了什么依赖库,模板生成的代码本身是静态链接的,因为模板的目标代码都是当时编译器即时生成的,所以前两个文件都是静态链接的,依赖的东西可能存在于libstdc++(libc++或者其它)当中,这一部分是动态链接的
第三个文件大部分东西都是C里面的标准IO之类的东西,这些东西存在于libc当中,
即是动态链接了。。

高洛峰

iostream和string都是模板的,所以实际上并没有静态和动态的区别。如果你用了cout、fopen等这样的符号,那么你就会需要静态来件,或者让对方安装Visual C++ 2015 Redistribution

伊谢尔伦

前两个是静态链接,第三个是动态链接。

ringa_lee

优先动态链接,在linux下你可以ldd查看下依赖哪些动态库,如果有动态库的话说明没有把静态库链接进去

大家讲道理

可静态可动态。你可以检查一下项目的编译和链接设置。例如,你可以在VC++中选择“多线程静态库”或者“多线程DLL”。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号