关于i386和i686的编译问题
要想使你编译的rpm包达到优化的效果,方法很简单只要在spec文件的%build段中加入下列文字就行:make CFLAGS="$RPM_OPT_FLAGS" \
如果你觉得上述优化还不够理想可以使用以下的文字,也是在%build段中:
export CFLAGS="-Wall -Wno-unused-variable -Wno-unused-function -Wno-unused-label -Wno-uninitialized -Wno-multichar -O3 -march=pentium4 -fomit-frame-pointer -ffast-math -finline-functions -frename-registers -pipe"
把-march=改为你的cpu就行了。
这对gcc是有要求的,好象是>=2.96 你那样的编出来的 SRPM 很可能不能用在别的计算机上。建议直接在 /etc/make.conf 里加入:
CFLAGS="-Wall -Wno-unused-variable -Wno-unused-function -Wno-unused-label -Wno-uninitialized -Wno-multichar -O3 -march=pentium4 -fomit-frame-pointer -ffast-math -finline-functions -frename-registers -pipe"
就不用每次修改 spec 了。使用 -Os 或 -O2 比较安全,-O3 有时优化过了头,适得其反。
优化参数非常多,还有……
export CFLAGS="-Wall -Wno-unused-variable -Wno-unused-function -Wno-unused-label -Wno-uninitialized -Wno-multichar -O3 -march=pentium4 -fomit-frame-pointer -ffast-math -finline-functions -frename-registers -pipe"
这种参数只是给p4优化了,还在用p3的,或者用Athlon or Duron的人可不在少数。
另外,用-O3的容易出问题,-O2比较保险。 rpm数据库坏了,郁闷。。。。。 我记得有一个--rebuild-database什么的参数,你自己rpm --help看看?
页:
[1]