在Oracle 11.2上用Gcc进行64bit编译(Solaris 11, x86)

php中文网
发布: 2016-06-07 15:18:34
原创
1596人浏览过

从11.2版起,oracle取消了oracle_home下的lib32 directory,从32/64bit的双轨制彻底走向64bit的单轨路线。 对于一些还希望使用32bit的人,解决问题的办法就是再安装一个32bit的Oracle Client。(当然,这回生成另一个ORACLE HOME。这应该没问题,可惜我没试

从11.2版起,oracle取消了oracle_home下的lib32 directory,从32/64bit的双轨制彻底走向64bit的单轨路线。

对于一些还希望使用32bit的人,解决问题的办法就是再安装一个32bit的Oracle Client。(当然,这回生成另一个ORACLE HOME。这应该没问题,可惜我没试过。)

 

零一万物开放平台
零一万物开放平台

零一万物大模型开放平台

零一万物开放平台 48
查看详情 零一万物开放平台

但是,我遇到的问题是,用户希望升级到64bit,从原来的cc更换到gcc,但又不愿修改大量的make文件。

1. 安装gcc package。

首先搜索gcc。

# pkg search gcc

INDEX           ACTION   VALUE                                                               PACKAGE
pkg.description set      GCC Runtime - Shared libraries used by gcc and other gnu components pkg:/system/library/gcc-3-runtime@3.4.3-0.175.0.0.0.2.537
pkg.summary     set      GCC Runtime libraries                                               pkg:/system/library/gcc-3-runtime@3.4.3-0.175.0.0.0.2.537
pkg.summary     set      GCC - 4.5 Compilers                                                 pkg:/developer/gcc-45@4.5.2-0.175.0.0.0.2.537
pkg.summary     set      GCC - 4.5 Runtime                                                   pkg:/system/library/gcc-45-runtime@4.5.2-0.175.0.0.0.2.537
basename        hardlink usr/sfw/bin/gcc                                                     pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537
basename        link     usr/bin/gcc                                                         pkg:/developer/gcc-45@4.5.2-0.175.0.0.0.2.537
pkg.description set      GCC Runtime - Shared libraries used by gcc and other gnu components pkg:/system/library/gcc-3-runtime@3.4.3-0.175.0.0.0.2.537
pkg.summary     set      gcc - The GNU C compiler                                            pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537
basename        dir      usr/gcc                                                             pkg:/system/library/gcc-45-runtime@4.5.2-0.175.0.0.0.2.537
basename        dir      usr/gcc/4.5/lib/gcc                                                 pkg:/system/library/gcc-45-runtime@4.5.2-0.175.0.0.0.2.537
basename        dir      usr/sfw/lib/gcc                                                     pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537
basename        dir      usr/sfw/libexec/gcc                                                 pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537
basename        dir      usr/gcc                                                             pkg:/developer/gcc-45@4.5.2-0.175.0.0.0.2.537
basename        dir      usr/gcc/4.5/lib/gcc                                                 pkg:/developer/gcc-45@4.5.2-0.175.0.0.0.2.537
basename        file     usr/gcc/4.5/bin/gcc                                                 pkg:/developer/gcc-45@4.5.2-0.175.0.0.0.2.537

这里给出了好几个版本的gcc Package信息。

 

比如,你想安装3.4.3版的gcc compiler。

# pkg install  pkg:/developer/gcc-3@3.4.3-0.175.0.0.0.2.537

 

2. 为了不修改make文件而做的一个cc文件

 

下面是一个使用Unix原装cc的Make文件的例子(部分)。

# makefile
PROC = proc
CC   =  cc

INCLUDE =  -I ${ORACLE_HOME}/precomp/public -I ../inc
INC     =  ${HOME}/JBP/src/inc/
OBJ     =  ${HOME}/JBP/src/obj/

......

 

安装的gcc在哪里?

#which gcc
/usr/sfw/bin/gcc

 

做个cc文件,其内容超简单:

/usr/sfw/bin/gcc -m64 $*

 

注意,这里的 -m64, 它指示gcc生成64bit编译代码。

          $* 则接收cc 之后的一切参数。

 

cc必须可执行。

# ls -l cc
-rwxr-xr-x   1 root     root          25 Nov  6 14:21 cc

 

3. 验证

$ echo $SHELL
/usr/bin/bash

$ echo $PATH
/usr/bin:/usr/sbin:/usr/sfw/bin

$ which cc
/usr/sfw/bin/cc

$ more test.c
#include

int main(void){

    printf("Content-type: text/plain\n\n");
    printf("Hello, World!");

    return 0;

}

 

$ cc test.c

$ ls -ltr
total 15
-rw-r--r--   1 zhang    staff        130 11月  5日  17:46 test.c
-rwxr-xr-x   1 zhang    staff       9992 11月  7日  13:11 a.out

$ file a.out
a.out:          ELF 64-bit LSB executable AMD64 Version 1, dynamically linked, not stripped, no debugging information available

可见,使用gcc的别名产生的Object文件是64bit。

 

同理,使用make文件的编译链接也未见异常。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号