Compilar para C
Moderador: Moderadores
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Compilar para C
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.
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)
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)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar para C
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.
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
xHarbour.org + Hwgui + PostgreSql
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Compilar para C
OK.
Eu também já estava pensando nisso. Obrigado.
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)
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

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Compilar para C
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 ?
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)
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)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar para C
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.
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
xHarbour.org + Hwgui + PostgreSql
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Compilar para C
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 ?
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)
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)
Re: Compilar para C
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!
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

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Compilar para C
Que decepção...
Mas, de qualquer forma, esta é uma informação valiosa, Maligno. Obrigado.
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)
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)
Re: Compilar para C
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
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}
{POG - Programação Orientada a Gambiarra}
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar para C
É 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++)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 ?
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
xHarbour.org + Hwgui + PostgreSql
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: Compilar para C
Boa tarde Leonardo.
Na realidade não preciso de qualquer arquivo *.C. Foi somente uma curiosidade no momento, e também para o meu aprendizado.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...
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)
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)

