/bin和/lib文件夹的区别

VC下面的三个文件夹
/include
/bin
/lib
一般包含什么文件呢,比如静态链接库是不都放在lib文件夹中,dll动态链接库是放在lib文件夹还是bin 文件夹呢,有什么区别,我最近有遇到一个错误,把 gsl.dll放到VS/lib中间,程序编译不会出错,但是运行的时候,就说缺少dll文件,如果在VS/bin中间加入这个gsl.dll文件,运行就不报错了,这是为什么呢?
有没有朋友仔细给我讲讲这里面的玄机?

最近大概读了下《程序员的自我修养----链接,装载与库》这本书,里面这么讲:
“比如我们在系统中安装了python语言的接收器,那么与它相关的共享库可能会被放在/usr/local/lib/python,而它的可执行文件可能被放到/sur/local/bin下”
这个可执行文件是什么意思?

谢谢大家的解释。。
...全文
5961 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yfjok22 2016-06-19
  • 打赏
  • 举报
回复
编译过程这个应该和dll无关吧,这个是动态加载的,也就是只有只有在运行时才会在内存中加载,所以编译时不会报错 我理解如果是动态编译的就是这样,只有在静态编译时,IDE设置的路径会影响build,因为链接的时候要找到这段二进制文件 另外我觉得vs的设置应该是有设置动态链接库路径的选项的吧,如果把VS/lib添加到其中,至少在IDE中run应该是可以的
  • 打赏
  • 举报
回复
引用 3 楼 yfjok22 的回复:
我猜这里的可执行文件应该指的是python脚本,因为script对于python而言就是可执行文件,所以会至于程序包的/sur/local/bin下
那我上面的问题是为什么呢,为什么.dll必须加在bin文件夹中间
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
学会使用dumpbin查看.lib、.dll、.exe文件。
谢谢老师
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
include 包含程序定义的一些东西的头文件,比如宏,结构定义,函数定义,类型定义。 bin 包含可执行文件。 lib 包含程序实现文件编译生成的library.
那我上面那个问题,当你把.dll动态链接库放到lib里面不行,要加在bin下面,为什么呢?谢谢你的解释哦。。
paschen 2016-06-09
  • 打赏
  • 举报
回复
include 包含程序定义的一些东西的头文件,比如宏,结构定义,函数定义,类型定义。 bin 包含可执行文件。 lib 包含程序实现文件编译生成的library.
yfjok22 2016-06-08
  • 打赏
  • 举报
回复
我猜这里的可执行文件应该指的是python脚本,因为script对于python而言就是可执行文件,所以会至于程序包的/sur/local/bin下
赵4老师 2016-06-06
  • 打赏
  • 举报
回复
学会使用dumpbin查看.lib、.dll、.exe文件。
小灸舞 2016-06-06
  • 打赏
  • 举报
回复
lib一般放库文件,也就是后缀.lib的,include 一般包含头文件目录
bin表示binary目录,一般都是dll,exe等

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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