Question

Je passe par un code qui utilise l'Oracle OCI et j'ai rencontré quelque chose que je n'ai jamais vu auparavant. Le code est comme ceci:

text *string;

À présent, chaîne de caractères agit exactement comme un char * mais je n'ai jamais vu le type de données texte.

Quelqu'un sait où je peux trouver où le texte Le type de données est déclaré / défini?

Était-ce utile?

La solution

Une recherche Google m'a atterri à http://www.cs.umbc.edu/portal/help/oracle8/server.815/a67846/datatype.htm

Là je vois:

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

et

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

Je ne sais pas à quel point cela est pertinent pour votre situation ...

Autres conseils

Vous devez le rechercher dans la documentation Oracle. Alternativement, si vous avez un IDE qui vous permettra d'aller à des définitions, vous pourrez peut-être trouver la définition facilement et rechercher vous-même.

C et de nombreuses autres langues permettent au développeur de définir de nouveaux données, et il n'y a pas de référentiel central ou de signification généralement acceptée pour eux. Vous devez trouver leur signification au cas par cas.

Vous pourriez rechercher de manière récursive via les fichiers d'en-tête pour sa définition. Ce sera probablement quelque chose comme typedef char text ou moins probable, #define text char.

Vous n'avez pas mentionné quel compilateur vous utilisez, mais il peut y avoir un moyen de s'arrêter après l'étape de prétraitement - cela vous permettrait de rechercher simplement la sortie de l'étape de prétraitement pour la définition plutôt que de rechercher de manière récursive tous les fichiers d'en-tête. Dans GCC, vous pouvez utiliser gcc -E.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top