0

我正在探索使用 Oracle API 的软件,据我所知,对象方法通常期望作为参数“OCCI 上下文”或“OCCI 环境”值。

一个示例是 Account 对象的构造函数:

Account( oracle::occi::Environment* env );

后来重载

Account( void* oraCtx );

我可以理解它们与某种“连接处理程序”有关,但我想知道更多。

我四处搜索,但找不到任何对我来说足够清楚的东西,似乎每个文档都是从您已经知道 Oracle API 的假设开始的。

谢谢。

4

1 回答 1

3

OCCI Environment让您定义自己的内存管理函数,这些函数OCCI将在以后使用。

当您创建一个environment时,您将指针传递给您自己的mallocrealloc并且free

static Environment * createEnvironment(Mode mode = DEFAULT,
   void *ctxp = 0,
   void *(*malocfp)(void *ctxp, size_t size) = 0,
   void *(*ralocfp)(void *ctxp, void *memptr, size_t newsize) = 0,
   void (*mfreefp)(void *ctxp, void *memptr) = 0);

Context只是一个指向在调用它们Environment时传递给这些函数的指针。OCCI

于 2009-04-06T15:01:44.813 回答