初学linux系统编程,有以下几个疑惑,望解答

北桥ea 2020-03-19 11:08:07
问题1:为什么在linux下安装程序需要先编译,而在win10下只要运行安装包就行了?开发者不提供linux版本的安装包,而是提供源码要我自己编译?
问题2:下载下来的库文件为什么要自己编译?而不是直接导入他的源码,和我自己写的程序一起编译?
问题3:为什么linux系统的驱动需要和操作系统的源码同时编译,而不是像win10一样运行时安装驱动(比如打印机驱动)?
问题4:win10有360软件管家这类的程序完成软件的安装与卸载,linux有没有类似的软件?尤其是负责卸载的软件,我根本记不得那么多软件的安装路径,有没有能负责罗列已安装的软件,选中后能一键卸载的软件管家?
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
akari10032 2020-03-24
  • 打赏
  • 举报
回复
引用 4 楼 akari10032的回复:
检查编译,使用用户平台的交叉编译工具链
检查->交叉
akari10032 2020-03-24
  • 打赏
  • 举报
回复
检查编译,使用用户平台的交叉编译工具链
北桥ea 2020-03-21
  • 打赏
  • 举报
回复
如果开发者不想把源码给别人看,用户却需要源码本地编译,怎么办?
走好每一步 2020-03-20
  • 打赏
  • 举报
回复
引用 楼主 北桥ea 的回复:
问题1:为什么在linux下安装程序需要先编译,而在win10下只要运行安装包就行了?开发者不提供linux版本的安装包,而是提供源码要我自己编译? 问题2:下载下来的库文件为什么要自己编译?而不是直接导入他的源码,和我自己写的程序一起编译? 问题3:为什么linux系统的驱动需要和操作系统的源码同时编译,而不是像win10一样运行时安装驱动(比如打印机驱动)? 问题4:win10有360软件管家这类的程序完成软件的安装与卸载,linux有没有类似的软件?尤其是负责卸载的软件,我根本记不得那么多软件的安装路径,有没有能负责罗列已安装的软件,选中后能一键卸载的软件管家?
linux的版本太多了,很多公司开发后面都会进行裁剪,不像windows那样做大一统兼容 楼主想法是好的,但是在linux的世界里不切实际
勾吴江南 2020-03-20
  • 打赏
  • 举报
回复
第一个问题:因为以linux为内核的操作系统种类繁多,软件开发者并不知道你会把软件装到哪。为了避免依赖项的缺失就只好让你自己编译(少了依赖项的话make是通不过的)。
第二个问题:库文件是一些常用函数的集合。它可能不是专为某个项目而开发的。它要适应被不同的项目所引用。所以只能单独编译。当然,如果你实在闲得无聊,直接将库文件的代码直接搬到自己的项目中也是在理论上可行的(实际上困难不小)。
第三个问题:驱动程序是要接触硬件接口的。在现在的操作系统中这些硬件接口会被保户起来。你要操作硬件接口就必须调用操作系统内核来处理。因为第一个问题的原因及在同一个linux操作系统下内核版本差异的问题。所以你必须在编译驱动时引用对应版本的内核头文件各库。
第四个问题:一般来说,linux系统下都有安装/卸载管理软件的。比如红帽子系的yum,dnf。debian系的apt-get。你可以多了解一下。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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