天宇软件资讯2月6日消息,linux下的很多软件都是以源代码包的形式发布的,对于最终用户来说,配置和编译起来肯定比二进制软件包复杂,但确实如此
不过,好多了。对于不同的架构,软件开发者往往只需要发布同一个源码包,不同的最终用户编译后就可以正确操作,这也非常适合C语言的设计理念。
姚,以及罕见的二进制包,如rpm和deb,软件开发人员必须为每个特定平台定制专门的软件包。rpm文件的这个后缀一眼就能看出来,比如ppc,sparc,i386等等。这里不做过多评论。其实源设备软件远没有很多合作伙伴想的那么复杂。这里我会详细的做一些评论,比如。如果有错误,我会派伙伴去拍砖。
设备的详细步骤:
在设备完成后使用。
最稀有的源包有两种(XXXX.tar.gz or xxxx . tar . bz2)。其实这些源码包都是。
tar.gz开始时文件中使用的工具是
,并使用工具开头的tar.bz2文件。
原因是tar只能打包多个文件却没有压缩功能,而gz和bz2正好相反,只能压缩单个文件。这样我们难得的源代码包,其实就是用tar打包,然后用gunzip或者bzip2压缩,然后发布。当然,这两个步骤可以通过一个命令来完成:
解压缩的相关命令如下:
解压完成后,设备正式启动(补充一点,开始配置前,必要时请使用补丁工具对源代码进行补丁)。首先,跳转到源代码的解压目录。众所周知,在开始配置之前,应该仔细阅读源代码目录。
文件,这里列出了很多设备中的注意事项。配置实际上是一个脚本文件。如果你输入"。/configure "在未来目录中,shell将在未来目录中运行配置脚本。有必要澄清在整个配置过程中,
Configure只是一个与编译相关的预备任务,主要是对你未来的任务平台做一些依赖检测,比如编译器能不能安装,链接器能不能存在。如果检测到的过程中没有错误,那么您是幸运的,configure脚本将生成另一个文件,用于未来目录中的下一个编译链接。
当然,configure支持其丰富的命令行参数。可以打字”。/configre-help "获取详细信息。最常用的大概有:
如果配置过程正确完成,相应的Makefile将在源目录中生成。Makefile很容易包含一组文件依赖项和相关的编译链接步骤。事实上,
Make只是一个通用工具。一般情况下,make会根据Makefile中的规则调用一个合适的编译器来编译所有依赖于后期软件的源代码,生成所有相关的目标文件,然后首先使用linker生成最终的可执行程序:
当以上两个步骤都正确完成时,就意味着编译环节过程已经完全完成。首先要做的是
在这一步,普通用户暂时切换到root是一个不错的选择,比如因为没有相关目录的操作权限。“安装”只是makefile中的一个标签,“make install”代表make工具在Makefile中的“安装”标签下执行所有相关操作。如果在配置阶段没有使用“-prefix =/opt/xxx”来指定使用程序的设备目录,那么使用程序的设备将默认为/usr/local/bin。如果/usr/local/bin曾经存在于你的路径中,那么这个设备已经基本完成了:
这两步只是设备的后续操作,有一点一定要注意,还有“清理”和“卸载”。
文件中对应的两个标签,makefile在执行这两个步骤时都必须保存,“make clean”用来清除编译和链接过程中的一些临时文件,“make uninstall”用来卸载相关的应用程序,类似于make install,make uninstall也需要切换到root执行,但是很多Makefile中省略了“uninstall”这个标签,合作伙伴完全可以自己探索对应的Makefile。
这里我试着解释一下上述步骤存在的原因。从C语言的角度来看,一个程序从源代码到正确生成相关的可执行文件,以下几个部分是必不可少的:
经过以上步骤,伙伴们应该已经知道,实际执行编译链接操作只有一个步骤(make),那么其他步骤存在的原因是什么呢?
有一点是肯定的。我在自己的电脑上用C语言写一些小程序自娱自乐,不使用“配置或make install”之类的命令。最多我写一个Makefile来管理源文件的依赖关系,但是软件开发人员不一样,他必须考虑清楚。
他开发的软件不可能只在自己的pc上运行吧?不同的平台,比如硬件架构不同,导致了Makefile的可移植性。为了解决这个问题,开发者通常会使用它。
等工具生成相应的configure脚本,而configure脚本用来屏蔽相应的平台差异,从而正确地生成Makefile,然后使其按照rest的效果进行配置。
完成编译链接的任务。
至于“安装或清理或卸载”,只对应Makefile中不同的规则。关于Makefile的详细信息,合作伙伴可以自行查阅相关文档。
以下是我在自己pc上的源设备。
正确的流程为上述步骤的详细示例:
这是我的。
解压缩原始文件包,可以发现它包括
建立并配置软件设备目录。
能看见
在已建立的Makefile中。
等级
装置和简易测试成功。
今天就分享到这里吧,天宇软件资讯是一个软件分享基地,其中包括微信,红包辅助,淘米购,叮咚盲盒,享乐好物,支付宝,淘盟铺,惠易购,青蛙易购,香蕉赶集,乐享购,亲聊,探聊,诚智通,伶信,QQ,新易选,点约,淘客购,易民购,梦幻盲盒,淘个购,旗语,优品铺,赞聊,苹果微信多开,微信分身,安卓微信多开,创信等社交平台的功能有避雷,埋雷软件,单透,扫尾,秒抢等一些红包强项外挂功能软件分享。喜欢的请关注收藏,谢谢。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://wd.yurjk.com/384.html
近期评论