QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1300|回复: 6

如何给gcc编译设置默认参数??

[复制链接]
发表于 2003-6-19 09:13:19 | 显示全部楼层 |阅读模式
如题,比如我想这么样加
CFLAGS=-march=pentium3 -pipe -O3 -formit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
可是这在加在那里呢才可以使gcc编译都默认使用这个参数呢??/
谢谢!!!!!!!!!!
发表于 2003-6-19 09:32:46 | 显示全部楼层
makefile or command line.
回复

使用道具 举报

发表于 2003-6-19 15:24:59 | 显示全部楼层
用添加变量的形式……
在/etc/bashrc或者~/.bashrc文件里面添加
export CFLAGS=-march=pentium3 -pipe -O3 -formit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
回复

使用道具 举报

 楼主| 发表于 2003-6-20 12:50:31 | 显示全部楼层
谢谢,2位!
不过说实话,好象修改makefile是最好的啊!

还有一个问题,就是怎么修改rpm的编译参数,我是说改它默认的不是那个spec文件。
回复

使用道具 举报

发表于 2003-6-20 14:25:19 | 显示全部楼层
一个例子,针对gcc 296的,gcc 3.2可以做类似修改:

For CPU i686 or PentiumPro, Pentium II, Pentium III, and Athlon
Edit the /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs file, scroll down a ways...
You'll see a section like the following:

*cpp_cpu_default:
-D__tune_i386__
*cpp_cpu:
-Acpu(i386) -Amachine(i386) %{!ansii386} -D__i386 -D__i386__
%{march=i386:%{!mcpu*__tune_i386__ }}%{march=i486__i486 -D__i486__
%{!mcpu*__tune_i486__ }}%{march=pentium|march=i586__pentium -D__pentium__
%{!mcpu*__tune_pentium__ }}%{march=pentiumpro|march=i686__pentiumpro -
D__pentiumpro__ %{!mcpu*__tune_pentiumpro__ }}%{march=k6__k6 -D__k6__
%{!mcpu*__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:-
D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:-
D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-
D__tune_pentium__ }%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-
D__tune_pentiumpro__ }%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-
D__tune_athlon__ }%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_defa
ult)}}}}}
*cc1_cpu:
%{!mcpu*: %{m386:-mcpu=i386} %{m486:-mcpu=i486} %{mpentium:-mcpu=pentium}
%{mpentiumpro:-mcpu=pentiumpro}}

Change it for the following:

*cpp_cpu_default:
-D__tune_i686__
*cpp_cpu:
-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__
%{march=i386:%{!mcpu*:-D__tune_i386__ }}%{march=i486:-D__i486 -D__i486__
%{!mcpu*:-D__tune_i486__ }}%{march=pentium|march=i586:-D__pentium -D__pentium__
%{!mcpu*:-D__tune_pentium__ }}%{march=pentiumpro|march=i686:-D__pentiumpro -
D__pentiumpro__ %{!mcpu*:-D__tune_pentiumpro__ }}%{march=k6:-D__k6 -D__k6__
%{!mcpu*:-D__tune_k6__ }}%{march=athlon:-D__athlon -D__athlon__ %{!mcpu*:-
D__tune_athlon__ }}%{m386|mcpu=i386:-D__tune_i386__ }%{m486|mcpu=i486:-
D__tune_i486__ }%{mpentium|mcpu=pentium|mcpu=i586:-
D__tune_pentium__ }%{mpentiumpro|mcpu=pentiumpro|mcpu=i686:-
D__tune_pentiumpro__ }%{mcpu=k6:-D__tune_k6__ }%{mcpu=athlon:-
D__tune_athlon__ }%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_defa
ult)}}}}}
*cc1_cpu:
%{!mcpu*: -O3 –march=i686 -funroll-loops -fomit-frame-pointer %{m386:-mcpu=i386}
%{m486:-mcpu=i486} %{mpentium:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}
回复

使用道具 举报

 楼主| 发表于 2003-6-20 18:16:18 | 显示全部楼层
太好了,兄弟你给了例子,真是太好了!谢谢!!
回复

使用道具 举报

发表于 2003-6-20 23:17:17 | 显示全部楼层
未免太累了吧?我是修改/usr/lib/rpm/rpmrc文件,虽然优化力度不大,好歹也算根据机器架构优化过了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-27 19:51 , Processed in 0.035943 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表