aix編譯環境
1. aix環境下如何編譯內嵌sql, 資料庫是db2,ec結尾文件
查看環境變數 db2set 如果發現db2set中db2codepage不是819,執行以下是代碼片段:db2set db2codepage=819
db2 create database test05 on /home/db2inst1
db2 connect to test05 user db2inst1 using db2 創建對應pagesize大小的緩沖池和表空間以下是代碼片段:db2 CREATE Bufferpool USER8 SIZE 1000 PAGESIZE 8K
db2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 K
db2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 K
db2stop force ( 可以先用:db2stop 、db2 terminate進行停止)db2startdb2 connect to test05 user db2inst1 using db2
db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"
db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"
db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING 創建臨時表空間(用於緩沖查詢結果或者臨時表)以下是代碼片段:db2 CREATE Bufferpool TMPBUF8 SIZE 10000 PAGESIZE 8K
db2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K MANAGED BY 給相關用戶付許可權以下是代碼片段:db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMIS
db2 GRANT USE OF TABLESPACE TS_USER8 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER16 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER32 TO easymis 開始創建表、創建(這種方式是直接創建表、視圖的方式,如果採用db2move的方式,那麼則不需要)以下是代碼片段:db2 connect to test05 user easymis using easymis
db2 -f dbstruct.sql >crttab.log
db2 -f view.sql >crtviw.log 恢復db2move備份的資料庫(備份的過程參見後面的db2move的說明)以下是代碼片段:db2move test05 import -l /home/db2inst1/wk/test04
db2 -tvf view.sql >crtview.log #如果腳本是db2look,命令結束符為分號,行結束無特殊符號
2. AIX環境中怎麼樣配置能夠使ls -l 命令直接用 ll 就可以實現。我記得這是個人習慣的配置,怎麼配置望指點下
在.profile 里增加一行:
alias ll='ls -l'
3. AIX里怎麼安裝CC編譯器
你要安裝的是IBM的xlc嗎?還是gcc編譯器? 如果是xlc,首先在操作系統中安裝依賴的文件集,比如bos.adt等等。 然後使用installp命令或者smit installp快捷菜單安裝xlc,如果依賴的文件集沒有安裝,安裝信息會有提示,並報錯。 如果是gcc編譯器,...
4. 如何在aix設置xlc編譯器path環境變數
設置ORACLE_HOME環境變數,一般是sqlplus所在位置的上一級再上一級目錄, 然後設置PATH,加入$ORACLE_HOME/bin 給你一個示例 export ORACLE_BASE=/ora10 export ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1/ export PATH=$ORACLE_HOME/bin:$P
5. aix系統編譯make
換gmake試一下
gmake是GNU Make的縮寫。 linux系統環境下的make就是GNU Make,之所以有gmake,是因為在別的平台上,make一般被佔用,GNU make只好叫gmake了。 比如在安裝二進制文件進行編譯時要使用make命令,但如果在Solaris或其他非GNU系統中運行,必須使用GNU make,而不是使用系統自帶的make版本,這時要用gmake代替make進行編譯
6. 在linux上編譯的程序,怎麼才能在aix上運行
我才疏學淺,感覺沒辦法,可能必須重新編譯,編譯一個程序會鏈接很多系統庫和包含系統的頭文件,linux和IBM內部實現的系統庫可能都不一樣,而且文件頭信息格式也不一樣,所以不能通用,交叉編譯也是只能是指 在linux編譯在AIX上用的程序,其實不能在linux下用
7. AIX 6.1環境安裝的xlc 9.0版本編譯器但是不能編譯,求大神指教越詳細越好~
從你的這個補丁文件名就可以看出,是先用tar歸檔後再壓縮的,需要使用的時候反向操作即可。
uncompress vacpp.90.aix61.oct2007.ptf.tar.Z
tar xvf vacpp.90.aix61.oct2007.ptf.tar
然後在安裝此文件
8. 新手入門:AIX下如何用命令行編譯並執行一個C程序GCC和CC的區別是什麼
謝謝! 明天我去試一下。另外,在AIX下我輸入:gcc -v 想查看GCC版本號,提示GCC不存在,但是輸入:cc -v 則提示IBM XLC的版本信息,不知道這個是什麼原因 ?
9. 如何在aix環境下生成動態鏈接庫
libwrapper.so: $(libwrapper_so_OBJECTS)
@echo ${COMPILE}
@echo $(libwrapper_so_OBJECTS)
${COMPILE} -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so
# ${COMPILE} -qmkshrobj $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so
在linux下編譯沒有問題,但是在AIX下編譯會報如下錯誤
xlc -DAIX -c -I/usr/java14/include -I/usr/java14/include/aix wrapperinfo.c
xlc -DAIX -shared wrapperjni_unix.o wrapperinfo.o wrapperjni.o -o ../../lib/libwrapper.so
ld: 0706-012 The -h flag is not recognized.
ld: 0706-012 The -a flag is not recognized.
gmake: *** [libwrapper.so] Error 255
百思不得其解,網上一查,很多類似情況,但都沒有解決方法,最後試著將Makefile修改如下
libwrapper.so: $(libwrapper_so_OBJECTS)
@echo ${COMPILE}
@echo $(libwrapper_so_OBJECTS)
# ${COMPILE} -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so
${COMPILE} -qmkshrobj $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so
編譯通過,問題解決。
現在來想,可能是AIX下生成動態庫使用的編譯器選項為-qmkshrobj,而不是-shared造成的。
至於報-h和-a選項標識錯誤,估計是連接器不認識-shared選項,故而當作-s,-h,-a,-r,-e,-d選項來對待,
而恰巧支持-s,-r,-e選項,而不支持-h,-a選項,所以出現該錯誤。