текст * вместо символа * - PullRequest
0 голосов
/ 29 марта 2011

Я перебираю некоторый код, который использует Oracle OCI, и я столкнулся с тем, чего раньше не видел. Код такой:

text *string;

Теперь, string действует точно как символ *, но я никогда не видел тип данных text .

Кто-нибудь знает, где можно найти, где объявлен / определен тип данных text ?

Ответы [ 3 ]

4 голосов
/ 29 марта 2011

Вы должны найти это в документации Oracle.С другой стороны, если у вас есть IDE, которая позволит вам переходить к определениям, вы сможете легко найти определение и искать сами.

C и многие другие языки позволяют разработчику определять новые типы данных, идля них нет центрального хранилища или общепринятого значения.Вам нужно найти их значения в каждом конкретном случае.

3 голосов
/ 29 марта 2011

Поиск в Google привел меня в 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

Не уверен, насколько это относится к вашей ситуации ...

3 голосов
/ 29 марта 2011

Вы можете рекурсивно искать в заголовочных файлах его определение.Вероятно, это будет что-то вроде typedef char text или менее вероятно, #define text char.

. Вы не упомянули, какой компилятор вы используете, но может быть какой-то способ остановиться после этапа предварительной обработки - это позволитвам нужно просто найти выходные данные этапа предварительной обработки для определения, а не рекурсивно искать все файлы заголовков.В gcc вы можете использовать gcc -E.

...