Compilar para C

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Compilar para C

Mensagem por Hasse »

Boa noite colegas.

Estou com um problema novo.

Baixei o xHarbour 1.2.2-6553 via CVS e compilei. Até aqui tudo bem.

Ao compilar um programa que use o MilliSec() o sistema informa um erro de conflito de versões do PCODE (9 para 10) no Cttimer.prg.

Eu imagino que devo recompilar este cttimer.prg. Já tentei compilar para cttimer.obj e copiá-lo para a pasta OBJ mas não resolveu. Então procurei como fazer isto para o cttimer.c mas não achei o caminho das pedras.

Uso o Hbmake para compilar.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Compilar para C

Mensagem por sygecom »

Boa Noite Hasse,
Acabei de atualizar e compilar meu xHarbour do CVS e meu sistema usa essa função MilliSec() e não tive problema algum, tente antes de compilar o xHarbour dar um MAKE_B32 CLEAN, com seu sistema delete todos os .OBJ e recompile tudo, quem sabe ficou algum vestigio de outra versão.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Compilar para C

Mensagem por Hasse »

OK.

Eu também já estava pensando nisso. Obrigado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Compilar para C

Mensagem por Hasse »

Realmente, Leonardo, o que você previu, acabou acontecendo.

Atualizei para a versão 6571, e tudo está funcionando perfeitamente.

Mas, agora, só como aprendizado: como se compila um prg para C ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Compilar para C

Mensagem por sygecom »

Existe duas maneiras para isso.
1ª- Seria você pegar todo o codigo C e colocar dentro de um .PRG e antes de iniciar o codigo C você coloca:
#pragma begindump
....codigo c
....codigo c
....codigo c
....codigo c
// e no final a seguinte linha:
#pragma enddump

2ª- Seria compilar o arquivo .C junto com seus arquivos .PRG usando o hbmake, basta colocar dentro da pasta junto com seus .PRG e escolher ele junto na lista de arquivos fontes nas configurações do hbmake.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Compilar para C

Mensagem por Hasse »

Boa noite Leonardo.

A minha pergunta foi mal colocada. É o seguinte:

Tenho um "Teste.prg" e desejo transformá-lo em "Teste.C". Tem como fazer isto ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Compilar para C

Mensagem por Maligno »

Se a sua intenção é transformar seu PRG em C, saiba que o código em si não será convertido para a sintaxe C. O fonte C correspondente ao PRG apenas conterá um epilhamento de diversos opCodes utilizados pela máquina virtual do [x]Harbour. O fonte C da compilação [x]Harbour é apenas uma "ponte" do compilador XBase para o compilador C.
[]'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!
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Compilar para C

Mensagem por Hasse »

Que decepção...

Mas, de qualquer forma, esta é uma informação valiosa, Maligno. Obrigado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Compilar para C

Mensagem por gvc »

Só para ilustrar, coloque isto no seu código fonte [x]Harbour (PRG)
Qto a ver o código C, o xHarbour cria PCODE para compilar e executar.
Vale observar que de acordo com a versão do [x]Harbour é a versão do PCODE.
Me parece que a última é a versão PCODE 9.
Se vc usa o FWH, precisa tomar cuidado com a versão do [x]Harbour e do FWH.
Não sei se outras bibliotecas gráficas tb tem esse problema.

/*
TIRA_X() // DESABILITA O X da janela
*/

#pragma BEGINDUMP
#include "windows.h"
HB_FUNC ( TIRA_X ) // DESABILITA O X da janela
{
HMENU MenuH = GetSystemMenu(GetForegroundWindow(),FALSE);
EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}
#pragma ENDDUMP
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Compilar para C

Mensagem por sygecom »

Hasse escreveu: A minha pergunta foi mal colocada. É o seguinte:

Tenho um "Teste.prg" e desejo transformá-lo em "Teste.C". Tem como fazer isto ?
É Hasse como disse o Maligno, isso não tem como pegar, mas por outro lado, você pode compilar funções e arquivos .C junto com seu aplicativo e no caso do Harbour até mesmo .CPP(C/C++)
Alias, por que você quer o arquivo em .C se pode ter ele todo em .PRG e compilar no harbour com, MSVC, BCC,MINGW,GCC, INTEL C, e etc...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Compilar para C

Mensagem por Hasse »

Boa tarde Leonardo.
Alias, por que você quer o arquivo em .C se pode ter ele todo em .PRG e compilar no harbour com, MSVC, BCC,MINGW,GCC, INTEL C, e etc...
Na realidade não preciso de qualquer arquivo *.C. Foi somente uma curiosidade no momento, e também para o meu aprendizado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Responder