我正在浏览一些使用 Oracle OCI 的代码,并且遇到了一些我以前从未见过的东西。代码是这样的:
text *string;
现在,string的行为与 char * 完全一样,但我从未见过数据类型text。
任何人都知道我在哪里可以找到声明/定义文本数据类型的位置?
我正在浏览一些使用 Oracle OCI 的代码,并且遇到了一些我以前从未见过的东西。代码是这样的:
text *string;
现在,string的行为与 char * 完全一样,但我从未见过数据类型text。
任何人都知道我在哪里可以找到声明/定义文本数据类型的位置?
您必须在 Oracle 文档中查找它。或者,如果您有一个允许您转到定义的 IDE,您也许可以轻松找到定义并自行查找。
C 和许多其他语言允许开发人员定义新的数据类型,并且它们没有中央存储库或普遍接受的含义。您需要根据具体情况找到它们的含义。
您可以递归地搜索头文件以查找其定义。它可能会类似typedef char text
或不太可能,#define text char
.
您没有提到您正在使用什么编译器,但是在预处理阶段之后可能有一些方法可以停止 - 这将允许您只搜索预处理阶段的输出以查找定义,而不是递归搜索所有头文件。在 gcc 中,您可以使用gcc -E
.
谷歌搜索让我登陆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
不确定这与您的情况有多大关系...