Jump to content


netmorais

Member Since 18/05/2009
Offline Last Active 01/08/2009, 09:01
-----

Topics I've Started

Windows 2003 Server De 32bits Em Maquina De 64bits

25/05/2009, 12:33

Ola pessoal.
Quando instalo o service pack 1 ou 2 de 32 bits em uma máquina com processador de 64 bits, mas que já tem instalada uma versão do Windows 2003 server de 32 bits, algumas aplicações de 32 bits param de funcionar, informando violação de acesso. Desinstalando o service pack as aplicações voltam a funcionar. O mesmo teste feito em uma máquina com processador de 32 bits não apresenta problemas.
Alguem já passou por isto?
Grato.
Sergio.

Cobol Chamando Programa Em C

22/05/2009, 11:55

Ola pessoal.

Trabalho no Linux com MF Cobol V4.1 e no Windows com MF Cobol V4.0 e necessito compilar em ambas plataformas um programa Cobol que "chame" uma função em C utilizando a sintaxe: call funcao using .... Consultando a Internet consegui o modelo seguinte em http://docs.hp.com/c...390049.15066/28

cobprog.cbl:

$set rtncode-size(4)
working-storage section.
01 str.
03 str-text pic x(10).
03 filler pic x value x"00".
* Null terminate string for C function
01 counter pic 9(Legal comp-5 value zero.
procedure division.
call-c section.
call "cfunc" using str, counter
if return-code not = zero
* RETURN-CODE set from return () in C
display "ERROR"
else
display "OK"
end-if
stop run.

cprog.c:

cfunc (st, c)
char *st;
int *c;
{
printf ("Hi\n");
return(0);
}

No Linux, a compilção recomendada apresenta o seguinte erro:

cob -x cobprog.cbl cprog.c
cob: bad magic number: cobprog.o

No Windows, de forma similar:


cob -x cobprog.cbl cprog.c
error (Legal cannot execute program: cl386

E por que estou tentando encontrar uma solução compatível com as duas plataformas para o problema?
Dêm uma olhada em: http://sites.google.com/site/artwebdb/ no link "Acessando Bando de Dados - Mysql e Postgresql". Nele eu tento mostrar que é possível de uma forma "genérica" e de baixo custo ter acesso à maioria dos bancos de dados atuais atraves de "esquemas middleware". Para isto, uso sistemas de arquivo fifo (named pipes) para comunicação entre programas. A coisa funciona muito bem no Linux porque a tecnologia fifo é nativa e este sistema , mas no ambiente Windows é necessário que se faça uma "emulação", o que provoca queda na performance. A solução mais viável por enquanto seria que esta comunicação fosse feita por "chamada direta" ao módulo, tal como no caso do Cobol: call modulo using ...

Alguem pode me ajudar?

Grato.

IPB Skin By Virteq