BLINKER7 + CLD (DEBUG) - Como configurar?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

fabianocbrito
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Nov 2007 23:30
Localização: Alfenas

BLINKER7 + CLD (DEBUG) - Como configurar?

Mensagem por fabianocbrito »

Boa tarde colegas.

Utilizava o blinker 3.30 para compilar meus aplicativos em clipper. Daí, tenho uma aplicação com cerca de 1.3 MB de tamanho rodando normalmente, mas estou com um problema, não estou conseguindo RODAR ela com o CLD (debug). Está dando erro 5305: Conventional memory exhausted quando a executo com o debug, claro que, por falta de memória convencional. Dando uma pesquisada aqui no forum ouvi algumas pessoas dizerem que o blinker 7 é o melhor, que até compacta a aplicação. Pensei, se compacta, pode estar aí a minha solução para rodar com o CLD. Daí, pesquizei na net e baixei o BLINKER 7 e instalei-o. (achei interessante pois ele vem com um arquivo de instalação).

Agora, gostaria de saber qual a melhor forma de compilar as minhas aplicações com o blinker7 (parametros), e como fazer para funcionar com o CLD, pois, pesquisando aqui no forum, vi algumas dicas e até estou conseguindo rodar com o CLD, mas não está 100%, pois está abortando a aplicação com o erro: "BLX286 : 1313 : exception error 0D : general protection fault".

Segue um exemplo do .RMK e do .LNK que estou utilizando.

MEUPROGRAMA.RMK
princ.obj : lab.prg edicao.prg
clipper @princ /m /n /b

princ1.obj : edicao1.prg menus.prg relat.prg
clipper @princ1 /m /n /l

subrot.obj : subrot.prg
clipper subrot /m /n /w /a /v /l

result1.obj : result1.prg
clipper result1 /m /n /l

res1.obj : result2.prg result3.prg
clipper @res1 /m /n /w /l

MEUPROGRAMA.LNK
// a versao mais nova do blinker eh a 7.0 - http://pub.buzinello.com/index.php?d=./ ... compilers/
BLINKER EXECUTABLE EXTEND
//BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40
BLI EXE CLI //F:240 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP" //TEMPPATH:"C:\TEMP"

output MEUPROGRAMA.exe

beginarea
file princ
file princ1
file subrot
file result1
file timeslic
allocate extend
endarea
LIB c:\blinker\lib\BLXCLP52.LIB //lib do blinker
lib c:\clipper5\lib\clipper.lib
FILE C:\CLIPPER5\LIB\CLD.LIB


Será que vcs podem me dar umas dicas sobre como compilar da melhor maneira possível com o BLINKER7 + CLD????

Antecipadamente agradeço!
OBRIGADO!
fabianocbrito
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 06 Nov 2007 23:30
Localização: Alfenas

Ninguém tem uma dica?

Mensagem por fabianocbrito »

Bom dia!

Ninguém tem uma dica e/ou exemplo de como configurar os arquivos .RMK e .LNK para compilar usando o BLINKER7, com ou sem a utilização do DEBUG CLD?

Att.
Fabiano
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Parceiro... eu gostaria muito de te ajudar... mas eu não uso o RMK... uso CLP e meu LNK é diferente do que a maioria do pessoal aqui sugere....
Nunca tive problemas...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Augusto, o colega quando diz .RMK e .LNK está se referindo ao make e ao linker. Se não me falha a já muito gasta memória, o RMAKE e o MAKE (Borland, MS, etc) têm sintaxes equivalentes.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Maligno escreveu:Augusto, o colega quando diz .RMK e .LNK está se referindo ao make e ao linker. Se não me falha a já muito gasta memória, o RMAKE e o MAKE (Borland, MS, etc) têm sintaxes equivalentes.
Eu entendi grade Maligno... eu só quis dizer que o os meus "scripts" 'são diferentes da maioria... não muito... mas são...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Ninguém tem uma dica?

Mensagem por Maligno »

fabianocbrito escreveu:Ninguém tem uma dica e/ou exemplo de como configurar os arquivos .RMK e .LNK para compilar usando o BLINKER7, com ou sem a utilização do DEBUG CLD?
Nem tinha visto sua mensagem. :)

Um exemplo de script para o Make (ou RMake - deve funcionar, a não ser pelos switches de linha de comando - tem que verificar):

Código: Selecionar todos

d:\dir\seu_prog.exe:     fonte01.obj \
                         fonte02.obj \
                         fonte03.obj \
                         fonte04.obj \
                         fonte05.obj \
                         fonte06.obj \
                         fonte07.obj \
                         fonte08.obj \
                         fonte09.obj \
                         fonte10.obj 

 cls
 blinker @prg.lnk

.prg.obj:
 cls
 clipper $& $(OPT) -d$(COMP)
Observe que você só precisa definir uma única vez os nomes dos fontes. Nas três últimas linhas o Make consegue relacionar as dependências, comparando data/hora dos arquivos fontes listados acima, com seus respectivos objetos, e invocar o compilador quando necessário. Ao terminar, ele faz a última comparação de data/hora entre esses objetos e o EXE indicado na primeira linha, para então invocar o linker a executar o script PRG.LNK, se necessário.
Os símbolos esquisitos $(OPT) -d$(COMP) servem para você indicar alguns argumentos para o compilador, através da linha de comando do Make. O primeiro símbolo, OPT, eu uso para passar os argumentos para o Clipper. E o segundo, COMP, é o tipo de compilação que eu uso (WORK ou FINAL). Esse último é um símbolo testado no programa (#IF / #ENDIF). Você pode descartar isso, se não for necessário. Portanto, uma linha de comando típica para usar esse script serial algo mais ou menos assim:

Código: Selecionar todos

make -fprg -l+ -s -DOPT=/m/n/p/b -DCOMP=WORK
Ou seja, com -fprg digo ao Make que o script se chama PRG.LNK. O switch -l+ é pro Make saber que minha linha de comando é longa (dá pau no XP se não tiver isso). O switch -s só serve pra manda o Make ficar quieto, sem imprimir nada. A partir daí vem os argumentos finais. O tal de -DOPT=/m/n/p/b é para que o Make troque o símbolo OPT pela lista que eu passei. Ou seja, a lista de switches /m/n/p/b, utilizada pelo Clipper. E pelo último argumento, também pelo tal -D, eu mando ele trocar o símbolo COMP pela palavra chave WORK. Resumo: note que há uma simples substituição de símbolos.

Para o que diz respeito ao linker, há um monte de scripts no fórum. É só você fazer uma busca que você vai encontrar. Depois, ainda havendo alguma dúvida, poste uma nova mensagem. Só com relação ao debugger, note que ele, apesar de ser uma LIB, deve ser informado como um arquivo comum. Ou seja, através do comando FILE CLD.LIB.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder