由于 Oracle 可以对 PL/SQL 代码进行本机 C 编译(代码使用像 gcc 这样的 C 编译器编译成服务器文件系统上的共享对象文件)我想知道这一点。我可以开发一段 C 代码用于 extproc 链接到本机编译的 PL/SQL 函数吗?这将是一件好事,因为所有困难的 OCI 内容都可以在 PL/SQL 中完成,所有逻辑或数学内容都可以在 C 中完成。因此我需要知道(至少,我认为)函数名称和参数,以便我可以制作一个头文件 - 对吧?有没有办法对.so进行逆向工程?有没有人尝试过这样的黑客?它更多的是“我想学习和实验”,而不是解决实际问题。
EDIT1:我发现了什么:我可以修改 $ORACLE_HOME/plsql/spnc_commands 文件并在链接器命令后面附加一个 cp %(src) /tmp%(src) 。所以我可以调查生成的 C 代码,但这不是一个很大的帮助:-(