本文主要讲解如何在CentOS系统通过源码安装ruby,CentOS系统中首先下载ruby 、执行Ruby代码 、再配置环境变量使在全局可用。
在使用CentOS系统的时候,我们可能会遇到安装ruby 的问题,下面,我们就来针对这个问题,提出一个解决方案。
CentOS系统中首先下载ruby
Ruby代码
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p368.tar.gz
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p368.tar.gz
Ruby代码
tar xzvf ruby-1.8.6-p368.tar.gz
tar xzvf ruby-1.8.6-p368.tar.gz
然后进到ruby-1.8.6-p368目录
CentOS系统执行Ruby代码
./config -prefix=/usr/local/ruby
./config -prefix=/usr/local/ruby
开发编译安装
Ruby代码
make &&make install
make &&make install
CentOS系统中再配置环境变量使在全局可用:
在/etc/profile后加入
Ruby代码
export PATH=/usr/local/ruby/bin:$PATH
export PATH=/usr/local/ruby/bin:$PATH
保存后,su -
ruby -v 看能否正常使用。
CentOS系统下面安装rubygem
Ruby代码
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
解压后,进入目录,执行 ruby setup.rb 进行安装。
安装过后更新 gem
Ruby代码
gem update --system
gem update
这样,我们就在CentOS系统安装ruby环境完成了。
一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。
预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则如下:
1、删除所有的#define,展开所有的宏定义。
2、处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。
3、处理“#include”预编译指令,将文件内容替换到它的位置,这个过程是递归进行的,文件中包含其他文件。
4、删除所有的注释,“//”和“/**/”。
5、保留所有的#pragma 编译器指令,编译器需要用到他们,如:#pragma once 是为了防止有文件被重复引用。
6、添加行号和文件标识,便于编译时编译器产生调试用的行号信息,和编译时产生编译错误或警告是能够显示行号。
扩展资料:
编译过程中语法分析器只是完成了对表达式语法层面的分析,语义分析器则对表达式是否有意义进行判断,其分析的语义是静态语义——在编译期能分期的语义,相对应的动态语义是在运行期才能确定的语义。
其中,静态语义通常包括:声明和类型的匹配,类型的转换,那么语义分析就会对这些方面进行检查,例如将一个int型赋值给int*型时,语义分析程序会发现这个类型不匹配,编译器就会报错。