下面我以乙個簡單例子來說明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=full
include="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
#include
#include
#include
#include
int main()
儲存為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庫檔案,最終生成可執行檔案。程式執行效果圖如下:
UNIX環境高階程式設計》apue h標頭檔案的配置
初學 unix環境高階程式設計 的朋友都會遇到乙個問題,執行裡面的例項 download 時就出現問題,提示 錯誤 apue.h 沒有那個檔案或目錄 apue.h是作者自定義的乙個標頭檔案,包括程式所需的常用標頭檔案及出錯處理函式。所以因該將它放入系統標頭檔案中 linux下是 usr includ...
牛奶咖啡好伴侶 《C程式設計》配《C伴侶》
喝咖啡,常常會加上咖啡伴侶或是牛奶,它會遮蓋咖啡的苦澀,讓咖啡更加香醇。如果把譚浩強老師的 c程式設計 比作一杯略帶苦澀的咖啡,這本書就是它最佳的伴侶,讓你的c程式設計之路更香醇。陳良喬 一天天重複的工作,一天天忙碌著,熟悉的頁面,陌生的頁面,都會從眼前掠過,一天天尋尋覓覓著,一天天期待著,一本書,...
C 經典程式設計題 6 分配病房
總時間限制 1000ms 記憶體限制 65536kb 描述某個科室的病房分為重症和普通,只有當病人的疾病嚴重程度超過了入住重症病房的最低嚴重值,才可以安排入住重症病房。現在要求設計乙個程式,給病人安排好病房。疾病的嚴重程度用0到10來表示,0表示小毛病,10表示非常嚴重。輸入第一行輸入病人的個數m ...