什么是SO文件格式? 如何将它开启和转文件?

By 时代数字趋势2021-08-06

带有.SO副文件名的文件是共享函式库(Shared Library)文件。它们包含一个或多个程序用来载入资源的资讯,因此,呼叫SO文件的应用程序不需要实际提供文件。

例如,有一个SO文件可能包含关于如何快速搜寻整个电脑的资讯和功能。接着,有些程序可以呼叫这个文件,在它们各自的程序中使用这个功能。

然而,不是把它编译在程序本身的二进制码中,而是把SO文件作为扩充功能,程序只需要呼叫就能使用它的功能。未来甚至可以更新/取代SO文件,而不需要变更那些程序本身的编译。

共享函式库文件与Windows中使用的动态连结函式库(DLL)文件和macOS的Mach-O动态函式库(DYLIB)文件很相似,除了SO文件是用于Linux和Android操作系统中。

SO不仅是指共享函式库文件。它也是服务器选项(server options)、服务物件service object(一种程序码)、系统超载(system overload)、唯送(send only)、系统中断(system outage)、串列输出(serial output),和固定开路(stuck open)的缩写。但是,不要把它与操作系统的缩写OS搞混了。

  • 如何开启SO文件?
  • 如何转换SO文件?
  • 仍然无法开启SO文件?
  • 更多关于SO文件的资讯

如何开启SO文件?

SO文件技术上可以使用GNU Compiler Collection来开启,但是这类型的文件目的不是为了用来浏览,或像其它文件那样使用它。相反的,它们只会放在适当的数据夹中,并透过Linux的动态连结载入器自动被程序使用。

但是,你或许也能够在文字编辑器中把SO文件作为文字文件来读取,例如,如果你是使用Linux,则可使用Leafpad、gedit、KWrite或Geany,或是Windows上使用Notepad++。虽然它不太可能是人类能够阅读的文字格式。

 

如何转换SO文件?

我们目前并不知道有任何程序可以把SO转换成DLL在Windows上使用,而且考虑到这些文件的目的与功能,不太可能有可以转换的程序。把SO转换成JAR或A (Stat Library文件)等其他文件格式也不是一件简单的工作。

你或许能够把SO文件「转换」成JAR文件,只要将它们压缩成像ZIP这样的压缩格式,然后把它重新命名为JAR。

 

仍然无法开启SO文件?

你无法开启文件的明显原因,是因为它其实不是SO文件。它可能只是与SO文件有相同字母的副文件名。听起来相似的副文件名并不一定代表文件格式很相似,也不代表它们可以在相同的程序中使用。

例如,ISO文件是流行的格式,副文件名的字尾看起来与「.SO」非常像,但这两者并无关连,且无法使用相同的程序开启。

另一个例子是SOL文件,它们是Flash Local Shared Object文件。它们可以在现已消失的Adobe Flash中使用,且与SO文件无关。

 

更多关于SO文件的资讯

共享函式库文件的名字称为soname。它以「lib」开头,接着是函式库的名称和.SO副文件名。部分的共享函式库文件在「.SO」之后也会附加其他数字,代表版本编号。

下列是常见的文件名例子:libdaemon.SO.14、libchromeXvMC.SO.0、libecal-1.2.SO.100、libgdata.SO.2和libgnome-bluetooth.SO.4.0.1。

结尾的数字让相同的文件可以有多种版本,而不会造成名称重複的问题。这些文件通常储存于/lib/或/usr/lib/。

在Android装置上,SO文件是储存于APK中的/lib/里面。这里的「ABI」的数据夹名称可以是armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86或x86_64。与装置相关的正确数据夹中的SO文件,会在透过APK文件安装应用程序时使用。

共享函式库文件有时称为动态连结共享物件函式库(dynamically linked shared object libraries)、共享物件(shared objects)、共享函式库(shared libraries),以及共享物件函式库(shared object libraries)。

赞(0)
未经允许不得转载:时代数字趋势 » 什么是SO文件格式? 如何将它开启和转文件?
分享到: 更多 (0)