数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[UDF系列]如何编写InterBase UDF 之三

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

(接上一篇)

如何编写InterBase UDF

warton

(前面讲了在windows下编写UDF)

编写Linux/Unix平台的UDF

(译者注:原用大量篇幅讲述了linux下的SO(shared object)文件和windows下的DLL文件,其实它们都是一种动态链接库,在此不做详细翻译!)

 

怎么在Linux 下生成一个shared library(共享库)

1.建立一个C文件(扩展名为.c

2.建立模块函数:int modulo(int *, int *);
 
int modulo(a, b)
     int *a;
     int *b;
{
  if (*b == 0)
    return -1; // return something suitably stupid.
  else
    return *a % *b;
}
 
编译和使用它
 
在命令行下:
gcc -c -O -fpic -fwritable-strings <your udf>.c
ld -G <your udf>.o -lm -lc -o <your udflib>.so
cp <your udflib>.so /usr/interbase/udf
然后在ISQL中:
declare external function f_Modulo
integer, integer
returns
integer by value
entry_point 'modulo' module_name 'name of shared library';
 
commit;
 
select f_Modulo(3, 2) from rdb$database;
 
真是太简单了!!
 
结论:
        看来编写UDF真的不难!看,它包含的内容也不太多!毕竟Linux开发者也不为难了。
最后:
        如果你想要更好的编程例子,可以下载FreeUDFLib—一个Delphi的UDF库和一个FreeUDFLibC―一个基于C的UDF库,它可以运行在Solaris,Linux,Windows等
 
(注,由于原本少量内容与主题无关,本人没有翻译)



相关文章

相关软件