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?
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
.