zoukankan      html  css  js  c++  java
  • 如何选择合适的Linux系统进行桌面程序开发?

    32 or 64 ?

    • 众所周知,64位的Windows系统可以近乎完美地运行32位的应用程序,微软出于商业考虑做了这样一个兼容层。而Linux系统则划分的很清楚,默认情况下64位的Linux系统无法运行32位的应用程序。但是Linux又是一个高度可定制的系统,通过安装一些库或者其它的配置方法可以让64位的系统运行32位的应用程序。

    • 现实情况是针对于Linux系统开发的应用程序大都提供了两个版本,32位的和64位的。

    • 可以选择针对32位和64位系统分别开发程序(两份代码),也可以选择开发一份代码,让它兼容于32位和64位系统。如果只维护一份代码,则只需要选定一个系统(32位或者64位)作为开发时用的系统,选定两个系统作为编译时用的系统(开发系统算一个,如果开发是32位就再选一个64位的,如果开发是64位的就再选一个32位的)。

    哪个发行版?

    • Linux系统是一大类系统的统称,光选32和64还不够,你还得从所有这些32和64位的系统中选一个称心如意的发行版

    • 根据 DistroWatch 的统计,使用比较多的发行版有 Mint(基于Ubuntu的发行版)、Ubuntu(基于Debian的发行版)、Debian(老大哥级别的发行版)、openSUSE(与SUSE相关)、Fedora(redhat桌面版)、CentOS(RHEL 社区版)。

    • 这些发行版都用一个内核 Linux Kernel ,区别在于每个发行版所搭载的软件包图形界面。软件包主要有deb包和rpm包两种,Mint、Ubuntu、Debian使用deb包,对应的包管理工具为dpkg;openSUSE、Fedora、CentOS使用rpm包,对应的包管理工具为rpm。图形界面则有GNOMEKDEXfce等。

    • 软件是要给用户使用的,所以应当选择一个大家常用的发行版,并且将编译好的软件分别制作成 deb 包和 rpm 包,供用户使用。鉴于 Ubuntu 发展时间较长且用户广泛,故推荐此发行版。

    高版本 or 低版本?

    • 选定了发行版还是不够,还要从这个发行版中选出具体的版本号,版本号越高代表系统越新。比如Ubuntu 10.04是10年4月份释出的版本,Ubuntu 12.04是12年4月份释出的版本,Ubuntu 12.10是12年10月份释出的版本。(对于Ubuntu系统,4月份释出的版本得到支持的时间较长,而10月份释出的版本受支持时间较短。)

    • 通常来讲,在低版本系统上编译的软件拿到高版本系统上运行是没有问题的。反之,在高版本系统编译而在低版本系统运行,则结果不确定,详情请见Linux binary compatibility

    • 保险起见,还是应当选择低版本的发行版作为开发用系统。具体版本有多低还要看用户需求,现在(2015-1-13)推荐 Ubuntu 10.04,随着时间的推移,可能会陆续转到 Ubuntu 11.04, Ubuntu 12.04上。

    查看已安装的系统

    • uname -m:输出系统架构,i686表示32位的系统,x86_64表示64位的系统。

    • uname -r:输出Linux内核版本,如 Ubuntu 12.04 使用的Linux内核:3.2.0-57-generic-pae,Ubuntu 10.04 使用的Linux内核:2.6.32-24-generic

    • lsb_release -d:输出此发行版的描述信息,如:Description: Ubuntu 12.04.3 LTSDescription: Ubuntu 10.04.1 LTS

    总结

    补充

    • 要想安装 64 位的系统,首先要确保 cpu 支持 64 位。

    • grep -o -w 'lm' /proc/cpuinfo:如果输出 lm ,表示 cpu 支持 64 位。

    • (lm 表示 Long Mode,另外还有 Protected Mode 表示 32 位的 cpu,Real Mode 表示 16 位的 cpu。)

  • 相关阅读:
    Api记录
    选择排序、冒泡排序、二分查找(折半查找)
    inline关键字
    c++,虚函数,单继承,多继承虚表剖析
    关于类模版迭代器提出时的错误
    关于类模版迭代器提出时的错误2
    菱形继承,多继承,虚继承、虚表的内存结构全面剖析(逆向分析基础)
    VC++错误调试
    引用计数
    选择
  • 原文地址:https://www.cnblogs.com/liubaocheng999/p/4220642.html
Copyright © 2011-2022 走看看