1

我对 pro c 非常陌生,并且在开发 pro c 程序方面没有任何实践经验。在调试程序时,我遇到了一个函数调用

sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);

我在 google 上搜索了有关 sqlcxt() 函数的帮助,但我没有找到任何资源。一些博客提到了pro c程序预编译过程中出现的问题,但我没有用。

4

1 回答 1

6

sqlcxt() 是一个未记录的函数。

当您编写 Pro*C,然后通过预编译器运行它时,预编译器会获取您的 '.pc' 源文件,并生成一个适合系统 C 编译器编译的 '.c' 文件。但是,从预编译器代码(例如“EXEC SQL ....”指令等)转换为 C 代码的一些内容引用了未记录的函数。

这个想法是您可以将 SQL 表达式嵌入到您的 C 代码中,Oracle 的预编译器将负责将这些代码部分转换为 C。您找到的 sqlcxt() 函数是那些未记录的函数之一。

如果您对编写纯 C 代码并与 Oracle 交互感兴趣,您应该研究 OCI 库。如果您打算编写 Pro*C,那么您应该只关心“.pc”源文件,而“.c”文件的内容应该与您无关。

希望有帮助。

于 2011-11-15T04:41:37.100 回答