Pro C/C 學習筆記 一
阿新 • • 發佈:2018-12-19
朱金燦上週六無事,抽空學習了一下Pro *C/C++,使用的參考書是《精通Oracle 10gPro*C/C++程式設計》。個人感覺Pro *C/C++語法不難,就是環境設定有點麻煩。程式設計就是這樣,開頭是一個坎,編譯環境設定不好,看不到輸出結果,就難以獲得那種成就感。下面我以一個簡單例子來說明Pro *C/C++的編譯環境的設定。這次開發環境是:Win XP sp2,VC++6.0,OCI: version 9.2, Oracle DataBase 10g Enterprise Edition Release 10.1.0.2.0。 書上說Oracle為Windows平臺提供了Pro *C/C++圖形介面工具,但是我裝的這個Oracle 10g並沒有帶這個圖形介面工具。呵呵,還是用控制檯那個Proc吧。這次進行Pro *C/C++大致分為四個步驟:1.指定可執行檔案路徑、標頭檔案路徑和庫檔案路徑指定可執行檔案路徑實際上是在Visual C++指定執行Oracle 10g的Pro*C/C++預編譯器proc.exe。這個proc.exe在伺服器端和客戶端都有,我想是一樣的。這裡是使用的是伺服器端的。具體做法是:在VC 6.0的TOOl->Option選單項的Directory選項卡里,在Show directoryes for選項裡選擇Executable files,將proc.exe的路徑加進去,如下圖所示:至於加標頭檔案和庫檔案,我想從事過二次開發的人都比較清楚,我就不一一細說了。具體要加哪些標頭檔案呢,主要是兩個,一個是sqlca.h所在的目錄,一般是precomp/public,另一個是OCI的標頭檔案,如下圖所示: 至於庫檔案,只需加OCI的庫檔案,如下圖所示: 以後可能還要根據需要新增相應的標頭檔案和庫檔案,這裡暫且不表。2.使用配置檔案使用配置檔案實際上是為了設定預編譯選項。因為剛入門,這次我們使用系統配置檔案,但是系統配置檔案並不能完全滿足我們的需要,如系統配置檔案並不包含解析內嵌SQL語法,因此我們要對系統配置檔案編輯一下。系統配置檔案一般是%precomp/admin/pcscfg.cfg。這裡要根據個人的Oracle安裝目錄來找,我的是:D:/Oracle/Server/precomp/admin/pcscfg.cfg。使用記事本(其它文字編輯工具也行)開啟這個檔案,在裡面新增如下內容:parse=fullinclude="C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE"include="D:/Oracle/Server/precomp/public"include="D:/Oracle/Server/OCI/include"其中parse=full表示解析原始檔的所有語法,包括C語法和內嵌SQL語法,include 則指定了標頭檔案所在的路徑,包括Visual C++標頭檔案路徑、ProC/C++標頭檔案路徑和OCI標頭檔案路徑。3. 建立工程檔案,正式開始程式設計激動人心的程式設計時刻終於到來了。首先使用記事本新建一個文字檔案,輸入以下程式碼:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>#include <sqlca.h>int main(){ char username[10],password[10],server[10]; printf("輸入使用者名稱:/n"); gets(username); printf("輸入口令:/n"); gets(password); printf("輸入網路服務名:/n"); gets(server);EXEC SQL CONNECT:username IDENTIFIED BY:password USING:server; if(sqlca.sqlcode==0) printf("連線成功!/n"); else printf("%.*s/n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc); getch(); return 0;}儲存為demo.pc(這裡注意字尾名為.pc)在VC上建一個空的控制檯工程demo,在FileView頁面中選中Source File,將demo.pc加進工程(),如下圖所示:然後使用同樣方法,在檔名裡輸入demo.c, 因為此時該檔案並不存在,所以會出現下面提示對話方塊: 單擊是,這樣就將.c檔案增加到工程檔案。注意,demo.c會在預編譯之後生成。 然後增加SQLLIB庫,具體是:在FileView頁面中選中Source Fil,選擇Add Files To Folder,將oraSQL10.LIB檔案新增到工程,該檔案一般在Oracle安裝檔案目錄下的precomp/lib子目錄下。如下圖: 建立預編譯命令,具體如下:1.右鍵選中demo.pc,如下圖:2.在右鍵選單中選擇setting,在Command編輯框中輸入:proc F:/MyProSrc/ProC/Demo/demo.pc,意思是呼叫proc.exe,對檔案F:/MyProSrc/ProC/Demo/demo.pc進行預編譯,在Outputs編輯框中輸入:F:/MyProSrc/ProC/Demo/demo.c,意思為預編譯的輸出檔案為:F:/MyProSrc/ProC/Demo/demo.c,如下圖 按確定後儲存設定。在完成上述設定之後,即可建立並生成可執行檔案。按Ctrl+F5快捷鍵,Visual C++將呼叫proc工具進行預編譯,將pc源程式轉為c程式碼,然後可以編譯c程式碼生成目的碼,最後連結目的碼和sqllib庫檔案,最終生成可執行檔案。程式執行效果圖如下: