Antes de começar
Você deve ter uma extensão definida pelo usuário escrita em C. Pode ser um dos nós de amostra fornecidos descritos em Arquivos de Nós de Amostra, o analisador de amostra descrito em Arquivos de Analisadores de Amostra ou um nó ou um analisador criado por você mesmo utilizando as instruções de Criando um Nó de Processamento de Mensagem em C, Criando um Nó de Entrada em C ou de Criando um Analisador em C. O nome do nó plug-in deve ter o formato <nome_do_nó>.lil.
Esta seção fornece informações sobre como compilar extensões definidas pelo usuário para todas as plataformas suportadas.
Os nomes de arquivos utilizados nestas instruções são os das amostras fornecidas. Se você estiver compilando suas próprias extensões definidas pelo usuário, deve substituir esses nomes de arquivos pelos de seus próprios nomes de arquivos.
Antes de tentar compilar sua extensão definida pelo usuário, certifique-se de ter um compilador apropriado suportado pelo sistema operacional. Exemplos de compiladores apropriados são:
Para , o Microsoft Visual Studio Versão 6.0 (Service Pack 5)
Para , o VisualAge C++ para AIX Versão 5.0.2
Para , o HP ANSI C 03.37
Para , Versão 2.95.3
Para , o SparcCompiler SC6.2
Para , Versão 1.3 ou Versão 1.4
As bibliotecas de extensões definidas pelo usuário existentes do cliente ou fornecidas por terceiros executarão em um intermediário do sem modificação ou recompilação, porém é preciso criá-las manualmente no .
Compilar a origem para a extensão definida pelo usuário em cada uma das plataformas suportadas cria o arquivo LIL (Loadable Implementation Library) de que o intermediário necessita para implementar a extensão definida pelo usuário.
cd \sample\extensions\nodes\ () cd /sample/extensions/nodes ( platforms)
cl /VERBOSE /LD /MD /Zi /I..\plugin /I..\..\include\plugin SwitchNode.c BipSampPluginUtil.c Common.c NodeFactory.c TransformNode.c -link /DLL ..\..\lib\imbdfplg.lib /OUT:SwitchNode.lil
xlc_r -I <>/include -I <>/include/plugin -c SwitchNode.c -o <outputdir>/SwitchNode.o xlc_r -I <>/include -I <>/include/plugin -c BipSampPluginUtil.c -o <outputdir>/BipSampPluginUtil.o xlc_r -bM:SRE -bexpall -bnoentry -o SwitchNode.lil <outputdir>/SwitchNode.o <outputdir>/BipSampPluginUtil.o -L <>/lib -l imbdfplg chmod a+r SwitchNode.lil
cc +z \ -I. \ -I<>/include \ -I<>/include/plugin \ -c BipSampPluginUtil.c \ -o <output_dir>/BipSampPluginUtil.o cc +z \ -I. \ -I<>/include \ -I<>/include/plugin \ -c Common.c \ -o <output_dir>/Common.o cc +z \ -I. \ -I<>/include \ -I<>/include/plugin \ -c NodeFactory.c \ -o <output_dir>/NodeFactory.o cc +z \ -I. \ -I<>/include \ -I<>/include/plugin \ -c SwitchNode.c \ -o <output_dir>/SwitchNode.o cc +z \ -I. \ -I<>/include \ -I<>/include/plugin \ -c TransformNode.c \ -o <output_dir>/TransformNode.o ld -b \ -o <output_dir>/SwitchNode.lil \ <output_dir>/BipSampPluginUtil.o \ <output_dir>/Common.o \ <output_dir>/NodeFactory.o \ <output_dir>/SwitchNode.o \ <output_dir>/TransformNode.o \ -L <>/lib \ -L <java_home>/jre/lib/PA_RISC2.0 \ -L <java_home>/jre/lib/PA_RISC2.0/server \ -l imbdfplg chmod a+r <output_dir>/SwitchNode.lil
Compile e vincule o nó definido pelo usuário no da seguinte forma, utilizando um compilador C suportado. Observe que as linhas foram divididas para melhorar a leitura. Digite cada comando como uma única linha de entrada.
/usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE TransformNode.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE SwitchNode.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE BipSampPluginUtil.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE Common.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE NodeFactory.c /usr/bin/gcc -o samples.lil TransformNode.o SwitchNode.o BipSampPluginUtil.o Common.o NodeFactory.o -shared -lc -lnsl -ldl -L/opt/mqsi/lib -limbdfplgEsses comandos criam o arquivo samples.lil que fornece objetos TransformNode e SwitchNode. Se ocorrer uma exceção no nó, ela não será manipulada corretamente e o intermediário abortará e será reiniciado.
cc -mt \ -I. \ -I<>/include \ -I<>/include/plugin \ -c SwitchNode.c \ -o <output_dir>/SwitchNode.o cc -mt \ -I. \ -I<>/include \ -I<>/include/plugin \ -c BipSampPluginUtil.c \ -o <output_dir>/BipSampPluginUtil.o cc -G \ -o <output_dir>/SwitchNode.lil \ <output_dir>/SwitchNode.o \ <output_dir>/BipSampPluginUtil.o \ -L <>/lib / -l imbdfplg chmod a+r <output_dir>/SwitchNode.lil
export _CC_STEPS=-1Como alternativa você pode incluir estas duas linhas a seu arquivo pronto para exportá-lo, da seguinte maneira:
_CC_STEPS=-1 .EXPORT : _CC_STEPS
Compile e vincule o nó definido pelo usuário no da seguinte forma, utilizando um compilador C suportado:
cc -c \ -Wc,DLL -g -W0,long,langlvl\(extended\),EXPORTALL,TARGET\(OSV2R8\) \ -W0,LIST\(${output_dir}/SwitchNode.lst\) \ -I./-I${install_dir}/include -I${install_dir}/include/plugin \ -I${install_dir}/sample/include \ -I${install_dir}/sample/plugin \ -o ${output_dir}/SwitchNode.o \ ${install_dir}/sample/plugin/SwitchNode.c
cc -c \ -Wc,DLL -g -W0,long,langlvl\(extended\),EXPORTALL,TARGET\(OSV2R8\) \ -W0,LIST\(${output_dir}/BipSampPluginUtil.lst\) \ -I./-I${install_dir}/include -I${install_dir}/include/plugin \ -I${install_dir}/sample/include \ -I${install_dir}/sample/plugin \ -o ${output_dir}/BipSampPluginUtil.o \ ${install_dir}/sample/plugin/BipSampPluginUtil.c
cc \ -Wl,DLL -g -Wl,p,map -Wl,LIST=ALL,MAP,XREF,REUS=RENT -o ${output_dir}/SwitchNode.lil \ ${output_dir}/SwitchNode.o ${output_dir}/BipSampPluginUtil.o ${install_dir}/lib/libimbdfplg.x
chmod a+r {output_dir}/SwitchNode.lil
Conceitos relacionados
Extensões Definidas pelo Usuário
Tarefas relacionadas
Desenvolvendo Extensões Definidas pelo Usuário
Criando a Representação da Interface com o Usuário de um Nó Definido pelo Usuário no
Testando um Nó Definido pelo Usuário
Distribuindo um Nó Definido pelo Usuário
Referências relacionadas
Extensões Definidas pelo Usuário
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
as10000_ |