0

我正在浏览一些使用 Oracle OCI 的代码,并且遇到了一些我以前从未见过的东西。代码是这样的:

text *string;

现在,string的行为与 char * 完全一样,但我从未见过数据类型text

任何人都知道我在哪里可以找到声明/定义文本数据类型的位置?

4

3 回答 3

4

您必须在 Oracle 文档中查找它。或者,如果您有一个允许您转到定义的 IDE,您也许可以轻松找到定义并自行查找。

C 和许多其他语言允许开发人员定义新的数据类型,并且它们没有中央存储库或普遍接受的含义。您需要根据具体情况找到它们的含义。

于 2011-03-29T15:55:09.360 回答
3

您可以递归地搜索头文件以查找其定义。它可能会类似typedef char text或不太可能,#define text char.

您没有提到您正在使用什么编译器,但是在预处理阶段之后可能有一些方法可以停止 - 这将允许您只搜索预处理阶段的输出以查找定义,而不是递归搜索所有头文件。在 gcc 中,您可以使用gcc -E.

于 2011-03-29T15:58:08.343 回答
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

不确定这与您的情况有多大关系...

于 2011-03-29T16:02:19.853 回答