2011-03-29 55 views
0

我正在瀏覽一些使用Oracle OCI的代碼,並且遇到了以前沒見過的東西。該代碼是這樣的:現在text *而不是char *

text *string; 

,酷似一個char * 行爲,但我從來沒有見過的數據類型文本

任何人都知道我在哪裏可以找到文本數據類型是聲明/定義的?

回答

3

谷歌搜索登陸我在http://www.cs.umbc.edu/portal/help/oracle8/server.815/a67846/datatype.htm

在那裏,我看到:

#if !defined(LUSEMFC) 
# ifdef lint 
# define text unsigned char 
# else 
    typedef OraText text; 
# endif 
#endif 

#ifdef lint 
# define OraText unsigned char 
#else 
    typedef unsigned char OraText; 
#endif 

不知道如何相關,這是您的情況......

+0

是的,我認爲,第一個只是關於我在找什麼。在oratypes.h。謝謝。 – gnuchu 2011-03-29 16:15:13

+2

多麼驚人醜陋和混淆。 – 2011-03-29 17:20:33

4

您必須在Oracle文檔中查找它。或者,如果您有一個可以讓您進入定義的IDE,您可以輕鬆找到定義並查找自己。

C和許多其他語言允許開發人員定義新的數據類型,並且沒有中央存儲庫或通用接受的含義。您需要根據具體情況找到其含義。

+0

謝謝。我知道我必須在個案的基礎上找到他們。只是,我不能在這種情況下,並要求一點幫助;-) – gnuchu 2011-03-29 16:15:59

3

你可以通過頭文件遞歸搜索它的定義。這可能類似typedef char text或更少可能,#define text char

你沒有提到你正在使用什麼編譯器,但是在預處理階段後可能會有某種方法停止 - 這將允許你只爲預定義階段的輸出搜索定義,而不是遞歸地搜索所有頭部文件。在gcc中,你可以使用gcc -E

相關問題