爱问知识人 爱问教育 医院库

以源代码形式安装是怎么一回事?

首页

以源代码形式安装是怎么一回事?

不怎么懂,但有点好奇.希望那位能用简单语言解释一下. thank you!

提交回答

全部答案

    2006-05-23 17:58:06
  • 简单点说就是我们一般在Windows下的软件都是以安装程序出现,我们看不到源代码,对如果想修改一些功能都是无能为力的,但用源代码安装就不同了,提供了源代码,你可以自行修改(当然要学会改,乱改不行的),加入自己的东西,然后就是上面说的Make呀,Gcc编译呀这些了-
    

    小***

    2006-05-23 17:58:06

  • 2006-05-10 23:43:34
  •   我的个人理解,不一定对,仅供参考。
    -*-*-*-*-*-*-
      计算机内部运行时,只有“0”“1”两种信号。通过不同组合来实现不同功能。
      一开始有计算机的时候,那帮大侠们就直接010010101这么写程序。
      后来觉着这么干很不爽,就用二进制来编写了一些早期编程语言。
      后来又逐渐发展到现在的 高级语言。   用高级语言写程序的时候,多数类似于普通的数学表达式,例如 a=1+1;   一些结构的控制,多是英语这种自然语言,例如 if 。。。。 then 。。。。 else 。。。。 (如果。。。。 那么。
      。。。 否则。。。。)   如果直接运行这些[数学和英语]编写的源代码,计算机虽然可以“读懂”,但仍旧必须通过一些算法将其转化为 [二进制指令] 才能够运行。   多了一道工序,自然就会使程序的运行变慢了。   而“编译”就是让计算机先将这些[数学和英语]翻译成它自己的语言(二进制),然后保存起来。
         以后运行时,就直接按照[二进制]指令去做就可以了。不用翻译“外语”。   (就好象雇翻译,请同声传译可是很贵的~~,文本翻译就便宜了,因为可以慢慢来) -*-*-*-*-   直接安装的程序,通常是有人(比如M$公司)事先将程序编译好了(成为二进制程序,可以直接执行)   编译安装,就是自己拿到了源代码,自己编译为二进制程序。
      (拿不到Windows的源代码,大家折腾Linux吧~~)   二者的区别主要在由谁编译的问题上。而“安装”通常只是复制文件、写配置文件的过程。(Windows里通常还有写入注册表的什么什么)   别人编译好的程序,通常会尽可能将所有功能编译进来,因为用户会有各种各样的电脑,各种各样的软件环境。
      编译好的程序在运行时检测当前环境,决定使用哪部分功能。   个人编译安装的程序,通常不会考虑其他机器怎样。只把自己的支持编译进来就好。这样编译出的程序更适合这台计算机。   比较明显的是Linux内核。如果编译为支持全部功能,它将很大,运行又慢。
      (虽然有些功能可以分离为单独文件(模块),不需要时不加载到内存,可仍然有许多功能必须在内核本体内才可运行。)   自行编译的话,可以只编译自己需要的功能。内核将小巧玲珑。(我有10000Mbit/s的网卡吗?我塞杨的CPU难道会需要PowerPC的指令集?业余无线电?算啦!把这些功能扔掉吧!我这破电脑无论怎么升级也不可能有这些功能吧!) -*-   在Linux中编译安装一个程序,通常有三步:(不一定,有些东西比较麻烦。
      比如Linux内核) 。/configure make make install   这种一般是作者准备好了一些自动配置文件,让人可以快速编译、安装。   否则大家就得对照着作者的说明书,一个文件一个文件的去编译(gcc aaa -o aaa 这类东西)   然后还要一个一个把编译好的文件复制到特定位置。
         。/configure是一个自动配置脚本,它探测当前系统的一些信息,以决定哪些文件该被编译,哪些不被编译。   configure脚本通常也支持通过参数指定功能,例如--prefix=/xx/x 指定安装目录/xx/x。有些程序还有自己的特殊参数,这需要查看帮助文件或者问问其他人。
         make就是自动编译了。它按照刚才configure的测试结果(好象是一个“Makefile”文件),对需要的源代码进行编译。   make install是安装。根据Makefile中的记录,将刚刚make编译好的二进制文件复制到指定位置。
      

    范***

    2006-05-10 23:43:34

类似问题

换一换
  • 操作系统/系统故障 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):