Datastage parallel routine aix unix hp-ux编译c程序 .o文件 .a文件 HPAIXCC++C#
有时候用Datastage内置的函数无法满足实际需要,这时就需要自己编写parallel routine。这种routine可以用在transformer stage的Expression Editor里,和普通函数的使用完全相同,只不过这是自定义函数罢了。新建一个parallel routine并不困难,看帮助或者教程就能明白。一个parallel routine需要调用一编译成.o文件的包含有函数的c程序或者c++程序(注:这里选择了静态链接库文件而没有选择动态链接库文件,即设置parallel routine属性type为external function、属性object type 为object)。写个简单的c或c++程序也不是问题。估计对于大多人来说最大的问题就是编译问题了。我也是如此,费了半天劲才搞定。为了让我们程序员同志们们少走弯路,我就说一下我遇到的在两个不同unix操作系统下如何编译c程序。首先说下在aix的unix下吧。先写好头文件.h文件和源程序文件.c文件。然后在这两个文件所在的目录下执行xlC_r -+ -O -g –c “源程序文件名”.c这样就生成了“源程序文件名”.o文件,就可以在parallel routine里调用了。然后说下在HP-UX下是如何编译的。也是先准备好头文件和源程序文件,然后编译命令得去找一下。打开Datastage administrator->projects->properties->general->environment->compiler,找到compiler和compiler options记住,然后进入到这两个文件所在的目录,输入编译命令和编译选项以及源程序文件名就可以了。我的环境是aCC +DD64 –O –c –ext –z +Z “源程序名”.c(注意区分大小写)。也不知道是不是都一样,有问题email我。