Heim Datenbank MySQL-Tutorial 在Oracle 11.2上用Gcc进行64bit编译(Solaris 11, x86)

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

Jun 07, 2016 pm 03:18 PM
gcc oracle 编译 Benehmen

从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。这应该没问题,可惜我没试过。)

 

但是,我遇到的问题是,用户希望升级到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文件的编译链接也未见异常。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1264
29
C#-Tutorial
1237
24
Was tun, wenn das Orakel nicht geöffnet werden kann Was tun, wenn das Orakel nicht geöffnet werden kann Apr 11, 2025 pm 10:06 PM

Lösungen für Oracle können nicht geöffnet werden, einschließlich: 1. Starten Sie den Datenbankdienst; 2. Starten Sie den Zuhörer; 3.. Hafenkonflikte prüfen; 4. Umgebungsvariablen korrekt einstellen; 5. Stellen Sie sicher, dass die Firewall- oder Antivirus -Software die Verbindung nicht blockiert. 6. Überprüfen Sie, ob der Server geschlossen ist. 7. Verwenden Sie RMAN, um korrupte Dateien wiederherzustellen. 8. Überprüfen Sie, ob der TNS -Dienstname korrekt ist. 9. Netzwerkverbindung prüfen; 10. Oracle Software neu installieren.

So lösen Sie das Problem des Schließens von Oracle Cursor So lösen Sie das Problem des Schließens von Oracle Cursor Apr 11, 2025 pm 10:18 PM

Die Methode zur Lösung des Oracle Cursor Closeure -Problems umfasst: explizit den Cursor mithilfe der Close -Anweisung schließen. Deklarieren Sie den Cursor in der für Aktualisierungsklausel so, dass er nach Beendigung des Umfangs automatisch schließt. Deklarieren Sie den Cursor in der Verwendung der Verwendung so, dass er automatisch schließt, wenn die zugehörige PL/SQL -Variable geschlossen ist. Verwenden Sie die Ausnahmebehandlung, um sicherzustellen, dass der Cursor in jeder Ausnahmesituation geschlossen ist. Verwenden Sie den Verbindungspool, um den Cursor automatisch zu schließen. Deaktivieren Sie die Automatikübermittlung und Verzögerung des Cursors Schließen.

So erstellen Sie Cursor in Oracle Loop So erstellen Sie Cursor in Oracle Loop Apr 12, 2025 am 06:18 AM

In Oracle kann die For -Loop -Schleife Cursors dynamisch erzeugen. Die Schritte sind: 1. Definieren Sie den Cursortyp; 2. Erstellen Sie die Schleife; 3.. Erstellen Sie den Cursor dynamisch; 4. Führen Sie den Cursor aus; 5. Schließen Sie den Cursor. Beispiel: Ein Cursor kann mit dem Zyklus für Kreislauf erstellt werden, um die Namen und Gehälter der Top 10 Mitarbeiter anzuzeigen.

Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Apr 14, 2025 pm 06:42 PM

Das Erstellen eines Hadoop -verteilten Dateisystems (HDFS) auf einem CentOS -System erfordert mehrere Schritte. Dieser Artikel enthält einen kurzen Konfigurationshandbuch. 1. Bereiten Sie sich auf die Installation von JDK in der frühen Stufe vor: Installieren Sie JavadevelopmentKit (JDK) auf allen Knoten, und die Version muss mit Hadoop kompatibel sein. Das Installationspaket kann von der offiziellen Oracle -Website heruntergeladen werden. Konfiguration der Umgebungsvariablen: Bearbeiten /etc /Profildatei, setzen Sie Java- und Hadoop -Umgebungsvariablen, damit das System den Installationspfad von JDK und Hadoop ermittelt. 2. Sicherheitskonfiguration: SSH-Kennwortfreie Anmeldung zum Generieren von SSH-Schlüssel: Verwenden Sie den Befehl ssh-keygen auf jedem Knoten

Was tun, wenn das Oracle -Protokoll voll ist Was tun, wenn das Oracle -Protokoll voll ist Apr 12, 2025 am 06:09 AM

Wenn Oracle -Protokolldateien voll sind, können die folgenden Lösungen übernommen werden: 1) alte Protokolldateien reinigen; 2) die Größe der Protokolldatei erhöhen; 3) die Protokolldateigruppe erhöhen; 4) automatische Protokollverwaltung einrichten; 5) die Datenbank neu initialisieren. Vor der Implementierung einer Lösung wird empfohlen, die Datenbank zu sichern, um den Datenverlust zu verhindern.

Orakels Rolle in der Geschäftswelt Orakels Rolle in der Geschäftswelt Apr 23, 2025 am 12:01 AM

Oracle ist nicht nur ein Datenbankunternehmen, sondern auch ein führender Anbieter von Cloud -Computing- und ERP -Systemen. 1. Oracle bietet umfassende Lösungen von der Datenbank bis zu Cloud -Diensten und ERP -Systemen. 2. Oraclecloud fordert AWS und Azure heraus und liefert IaaS-, PaaS- und SaaS -Dienste. 3. ERP-Systeme von Oracle wie E-Businesssuite und Fusion Applications helfen Unternehmen dabei, den Betrieb zu optimieren.

So stoppen Sie die Oracle -Datenbank So stoppen Sie die Oracle -Datenbank Apr 12, 2025 am 06:12 AM

Führen Sie die folgenden Schritte aus, um eine Oracle -Datenbank zu stoppen: 1. Eine Verbindung zur Datenbank herstellen; 2. Sofort herunterfahren; 3.. Herunterfahren vollständig.

So exportieren Sie Oracle View So exportieren Sie Oracle View Apr 12, 2025 am 06:15 AM

Oracle -Ansichten können über das Exp -Dienstprogramm exportiert werden: Melden Sie sich in der Oracle -Datenbank an. Starten Sie das EXP -Dienstprogramm und geben Sie das Ansichtsname und das Exportverzeichnis an. Geben Sie Exportparameter ein, einschließlich Zielmodus, Dateiformat und Tablespace. Mit dem Export beginnen. Überprüfen Sie den Exportieren mithilfe des IMPDP -Dienstprogramms.

See all articles