-mt
编译一个多线程的程序,或连接一个多线程的库到程序的时候,必须指定。
-D
宏定义。
例:用-DDEBUG参数,则代码中DEBUG宏被定义。
#ifdef DEBUG和#endif间的代码将被编译。
Purpose | sun cc | gnu cc |
---|---|---|
Compile in 64bit mode | -xarch=<sparcv9|amd64> (-xarch=generic64 soon) | -m64 (gcc really wins here!) |
Compile a kernel module | -D_KERNEL | -D_KERNEL -mcmodel=kernel |
Multi-Threaded | -D_REENTRANT (stop using -mt in S10) | -D_REENTRANT |
Optimization | -xO<0-5> | -O<0-5> |
Warnings | -v | -W or -Wall (mini lint) |
Warnings are errors | -errwarn=%all | -Werror |
Build a shared object (.so) | -G | -shared |
Accept C++ style comments | -xCC | None (does it automatically) |