linux生成文件中.so 文件和.out文件的区别
.so是动态链接库,.out是可执行文件。这我知道。。各位大虾,我想知道,.so里具体是什么?比方说是函数?是函数型,和各个.C的关系呢?然后.out里面是放的什么,难道...
.so是动态链接库,.out是可执行文件。这我知道。。
各位大虾,我想知道,.so里具体是什么?比方说是函数?是函数型,和各个.C的关系呢?然后.out里面是放的什么,难道是放的链接到.SO的路径放的链接哪个.SO。。还是放的是函数,?
求解惑。百度搜不到啊。 展开
各位大虾,我想知道,.so里具体是什么?比方说是函数?是函数型,和各个.C的关系呢?然后.out里面是放的什么,难道是放的链接到.SO的路径放的链接哪个.SO。。还是放的是函数,?
求解惑。百度搜不到啊。 展开
2个回答
展开全部
.so是二进制格式的链接库文件,包含链接库源文件(.c)中的各函数实现、调试信息等。
.out一般也是由gcc编译生成的二进制格式文件,但有可能是执行程序也可能是链接库文件,因为在linux中扩展名除了一些特殊的约定,一般情况下是无意义的。
执行文件也分动态链接还是静态链接。大多数情况都是动态链接,里面存放源文件(.c)中编译后的二进制代码及所调用函数库的入口参数,静态链接则是all-in-one,就是将所用到的非标准库都打包到执行文件中,所以体积都较大。
.out一般也是由gcc编译生成的二进制格式文件,但有可能是执行程序也可能是链接库文件,因为在linux中扩展名除了一些特殊的约定,一般情况下是无意义的。
执行文件也分动态链接还是静态链接。大多数情况都是动态链接,里面存放源文件(.c)中编译后的二进制代码及所调用函数库的入口参数,静态链接则是all-in-one,就是将所用到的非标准库都打包到执行文件中,所以体积都较大。
追问
有时候人家给我一个.SO 里面可以搜的到 我需要用到的那个函数,然后我自己写的程序里 会用到那个函数嘛,可以说是接口。 这样 我可以理解为 .SO里放了 那个函数的实体么?
追答
是的。.SO中存放的是函数的声明和实现内容
2012-12-06
展开全部
.so和.out里面应该都是二进制的执行指令。但文件格式,就是里面的内容布局是不同的,这个可以在网上找到资料的。
.so文件最主要的肯定是每个函数的声明和实现代码。
.out文件一般都会分成数据段,代码段,堆栈段的。然后就是一条接一条的指令执行,学过汇编应该知道怎么回事。
.so文件最主要的肯定是每个函数的声明和实现代码。
.out文件一般都会分成数据段,代码段,堆栈段的。然后就是一条接一条的指令执行,学过汇编应该知道怎么回事。
追问
有时候人家给我一个.SO 里面可以搜的到 我需要用到的那个函数,然后我自己写的程序里 会用到那个函数嘛,可以说是接口。 这样 我可以理解为 .SO里放了 那个函数的实体么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询