Solaris10的CC编译器部分编译选项

-G : 生成动态共享库而不是可执行文件

       在有了这个选项的时候,必须指定链接时需要的库,编译器不会链接任何缺省的库

      (gcc下面对应的选项是-shared)

 

-g :指示编译器和链接程序准备程序以进行性能分析(以及调试)。

 

-I : 指定头文件搜索路径


-i : 通知链接程序ld忽略任何LD_LIBRARY_PATH设置


-instances=global :将全部所需的实例放置到当前目标文件中并赋予全局链接。


-KPIC/-Kpic :使用与位置无关的代码进行编译。

       生成共享库时使用该选项编译源文件。对全局数据的每个引用都生成为全局偏移表中

指针的非关联化。每个函数调用都通过过程链接表在pc相对地址模式中生成。

这个选项我怀疑不用的话还能算是动态链接库吗?

(gcc下面对应的选项是-fPIC)

 

-L : 查找共享对象的路径


-l : 指定动态链接的共享对象


警告

为了确保正确的库链接顺序,必须使用-mt(而不是-lthread)与libthread链接。


-misalign :SPARC:允许内存中包含未对齐数据,否则会生成错误。如以下代码所示:

char b[100];

int f(int * ar) {

return *(int *) (b +2) + *ar;

}

该选项通知编译器程序中的某些数据未正确对齐。因此,非常保守的装入和存储必须

用于会不对齐的任何数据,即每次一个字节。使用该选项会显著降低运行时性能。性

能降低的程度与应用程序有关。


–mt

编译和链接多线程代码。

该选项将-D_REENTRANT传递给预处理程序,并将-lthread以正确的顺序传递给ld。

如果应用程序或库是多线程的,则必须使用-mt选项。

为了确保正确的库链接顺序,必须使用该选项而不是-lthread来与libthread链接。

如果使用的是POSIX线程,则必须使用-mt -lpthread选项来链接。由于对于多线程应

用程序,libC(兼容模式)和libCrun(标准模式)需要libthread,因此必须使用-mt

选项。

如果在不同的步骤进行编译和链接并且使用-mt编译,则可能会得到意外的结果。如

果使用-mt编译一个转换单元,则应使用-mt编译该程序的所有单元。


–S

编译并仅生成汇编代码。

该选项使CC驱动程序编译程序并输出汇编源文件,但不汇编程序。汇编源文件名称的

后缀为.s。


–verbose=v[ ,v…]

控制编译器详细程度。

v必须是下列值之一。

表A–22 -verbose值

值含义

[no%]diags       [不]为每个编译传递打印命令行。

[no%]template    [不]打开模板实例verbose模式(有时称为“检验”模

式)。verbose模式显示编译过程中出现的每个实例阶段。

[no%]version     [不]指示CC驱动程序打印所调用程序的名称和版本号。

%all 调用以上所有内容。

%none -verbose=%none与

-verbose=no%template,no%diags,no%version相同。

缺省值

如果未指定–verbose,则假定–verbose=%none。
 

 

TinyCC编译器 <br>发布时间:2007-07-09 12:28 网友评论 0 条 <br>软件大小:419kb<br>软件类别:编译开发<br>点击次数:1<br>软件语言:英文<br>运行环境:Win9X,Me,NT,2000,XP,2003,Unix<br>软件评级:4<br>更新时间:2007年9月7日<br>软件作者:Fabrice Bellard<br>作者网址:Home Page <br>软件授权:免费<br>下载地址:<br><br>软件描述:在下文中,我们说 Tiny C 编译器、Tiny CC、或者 TCC 都是指的这个 Fabrice Bellard 发明的 GNU/Linux 环境下(目前已被移植到Win32环境中)最小的 ANSI C 语言编译器。TCC 的主页在文后的参考资料中列出。在 Debian GNU/Linux 系统中,可以方便的用 apt-get install tcc 来从网络上安装 TCC 编译器。TCC 的主页上提供有给 Red Hat 系统上使用的 RPM 软件包。在微软 Windows 环境下,可以使用 Cygwin 的模拟 UNIX 的开发环境来编译和使用 Tiny C 编译器。TCC 是自由软件,软件许可证是 GNU LGPL,注意不是 GPL。 TCC 最有趣的特性是可以用 UNIX 系统上常见的 #!/usr/bin/tcc 的方式来执行 ANSI C 语言写就的源程序,省略掉了在命令行上进行编译和链接的步 骤,而可以直接运行 C 语言写就的源程序。这样就能做到像任何一种其它的脚本语言比如 Perl 或者是 Python 一样,显著的加快开发步调。可以像 TCC 直接生成经过部分优化的 X86 机器代码。并不需要生成任何虚拟机的二进制代码。据 TCC 作者提供的数据,TCC编译速度比 GNU C 编译器在不做任何代码优化工作(gcc -O0)的时候都要快。当然啦,要是让 GCC 做代码优化的话,那么编译速度就更加比不上 TCC 喽。 <br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值