cc/gcc 不同平台的差异

时间:2022-04-27 02:20:58

1. 默认编译器

    linux: gcc

    sun:   gcc

    aix:    cc

    hp:     cc


2. 32位系统编译64位程序,需要加编译参数

linux: -m64

sun:   -m64

aix:     -q64

hp:      +DD64


3. HP-UX “-D_REENTRANT” 参数

  linux下errno默认是线程安全的,多个线程之间,errno互不干扰

  HP-UX则不行,编译时必须加上"-D_REENTRANT"才会线程安全

  当然,这个参数不仅会使errno线程安全,也会自动替换其它非线程安全函数

  总之加上就对了


4. 生成静态库

    aix 平台使用 ar 命令生成64位静态库时要加参数: "-X64" ,如

     ar -X64 q hello.a hello.o