当前位置:柔美女性网 >

绿色生活 >心理 >

dll和so文件区别

dll和so文件区别

dll和so文件区别

Dll与或b(MacOS)文件所使用的机制几乎相同,因此很难确切解释它们之间的区别。

核心区别在于每种文件类型默认情况下可见的内容。文件导出语言(gcc)级链接-这意味着(默认情况下)拉入时(默认情况下)所有“外部”的C&c++符号都可用于链接。这也意味着,解析文件本质上是一个链接步骤,加载程序不关心符号来自哪个文件。它仅遵循.a文件遵循的常规链接步骤规则,以某种顺序搜索指定的文件。

另一方面,Dll文件是一种操作系统功能,与语言的链接步骤完全分开。MSVC使用文件来链接静态库和动态库(每个dll文件都会生成一个用于链接的成对的文件),因此,一旦生成该程序,就将其完全“链接”(从语言中心角度)。。

但是,在链接阶段,会在代表Dll的库中解析符号,从而允许链接程序在PE文件中构建导入表,其中包含dll的显式列表以及每个dll中引用的入口点。在加载时,Windows不必执行“链接”来解析共享库中的符号:该步骤已经完成-Windows加载器仅加载dll并直接连接函数

标签: 文件 dll
  • 文章版权属于文章作者所有,转载请注明 https://rmnxw.com/lvse/xinli/6mqq32.html