Clipper On Line • Ver Tópico - Nova versão do GCC MinGw

Nova versão do GCC MinGw

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

Moderador: Moderadores

 

Nova versão do GCC MinGw

Mensagempor asimoes » 26 Mai 2018 15:37

2018-05-26 15_35_43-Installing MinGW-W64.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 26 Mai 2018 17:08

Fiz uma compilação agora apareceu vários warnings compilando a Freeimage
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor JoséQuintas » 26 Mai 2018 21:07

Alguma diferença perceptível, como velocidade?
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9670
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 593 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 27 Mai 2018 08:59

JoséQuintas escreveu:Alguma diferença perceptível, como velocidade?


Não cheguei fazer testes, mas percebi que no harbour 3.2 muitas libs não compilaram, estou compilando agora com a 3.4 vou ver o que acontece.

Como harbour ficou "congelado" provavelmente não tem suporte para esta nova versão do GCC
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 27 Mai 2018 09:31

Com harbour 3.4 compilou até o fim e gerou todas as libs, agora vou fazer testes.

! Finished rebuild and install...
./bin/win/mingw/hbmk2.exe ./config/postinst.hb install
! Copying root documents...
! Repository timestamp (local): 2018-04-28 14:24:04
! Copying Harbour script files...
! Creating core translation (.hbl) files...
! Created C:\HB32GCC810\doc\hbmk2.el.hbl <= utils\hbmk2\po\hbmk2.el.po
! Created C:\HB32GCC810\doc\hbmk2.es.hbl <= utils\hbmk2\po\hbmk2.es.po
! Created C:\HB32GCC810\doc\hbmk2.es_419.hbl <= utils\hbmk2\po\hbmk2.es_419.po
! Created C:\HB32GCC810\doc\hbmk2.fr.hbl <= utils\hbmk2\po\hbmk2.fr.po
! Created C:\HB32GCC810\doc\hbmk2.gl.hbl <= utils\hbmk2\po\hbmk2.gl.po
! Created C:\HB32GCC810\doc\hbmk2.hu.hbl <= utils\hbmk2\po\hbmk2.hu.po
! Created C:\HB32GCC810\doc\hbmk2.it.hbl <= utils\hbmk2\po\hbmk2.it.po
! Created C:\HB32GCC810\doc\hbmk2.pt_BR.hbl <= utils\hbmk2\po\hbmk2.pt_BR.po
! Compiling core documentation (.hbd)...
! Created C:\HB32GCC810\doc\harbour.hbd <= .\
! Compiling list of contrib functions (.hbr)...
! Built: Harbour 3.4.0dev (669f310) (2018-04-28 17:24) using C compiler: MinGW GNU C 8.1 (32-bit)
! postinst script finished
Fim da compilaþÒo
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 27 Mai 2018 09:54

Tem muitos warnings, mas as libs foram geradas, vamos ter que conviver com esses warnings, até que alguém resolva.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor JoséQuintas » 27 Mai 2018 12:42

Só agora testei.

mingw81.png


d:\harbour\addons>dir /s/b
d:\harbour\addons\bostaurus
d:\harbour\addons\hmge
d:\harbour\addons\hwgui
d:\harbour\addons\josequintas
d:\harbour\addons\oohg
d:\harbour\addons\sefazclass
d:\harbour\addons\bostaurus\bostaurus.hbx
d:\harbour\addons\bostaurus\lib
d:\harbour\addons\bostaurus\lib\win
d:\harbour\addons\bostaurus\lib\win\mingw
d:\harbour\addons\bostaurus\lib\win\mingw\libbostaurus.a
d:\harbour\addons\hmge\hmge_adordd.hbx
d:\harbour\addons\hmge\hmge_bostaurus.hbx
d:\harbour\addons\hmge\hmge_calldll.hbx
d:\harbour\addons\hmge\hmge_core.hbx
d:\harbour\addons\hmge\hmge_hbgdip.hbx
d:\harbour\addons\hmge\hmge_hbmysql.hbx
d:\harbour\addons\hmge\hmge_hbodbc.hbx
d:\harbour\addons\hmge\hmge_hbole.hbx
d:\harbour\addons\hmge\hmge_hbprinter.hbx
d:\harbour\addons\hmge\hmge_hbsqlite3.hbx
d:\harbour\addons\hmge\hmge_hbvpdf.hbx
d:\harbour\addons\hmge\hmge_hbxml.hbx
d:\harbour\addons\hmge\hmge_hbziparc.hbx
d:\harbour\addons\hmge\hmge_miniprint.hbx
d:\harbour\addons\hmge\hmge_propgrid.hbx
d:\harbour\addons\hmge\hmge_propsheet.hbx
d:\harbour\addons\hmge\hmge_pscript.hbx
d:\harbour\addons\hmge\hmge_shell32.hbx
d:\harbour\addons\hmge\hmge_socket.hbx
d:\harbour\addons\hmge\hmge_sqlite3facade.hbx
d:\harbour\addons\hmge\hmge_tmsagent.hbx
d:\harbour\addons\hmge\lib
d:\harbour\addons\hmge\lib\win
d:\harbour\addons\hmge\lib\win\mingw
d:\harbour\addons\hmge\lib\win\mingw\libhmge_adordd.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_bostaurus.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_calldll.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_core.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbgdip.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbmysql.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbodbc.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbole.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbprinter.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbsqlite3.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbvpdf.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbxml.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_hbziparc.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_miniprint.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_propgrid.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_propsheet.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_pscript.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_shell32.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_socket.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_sqlite3facade.a
d:\harbour\addons\hmge\lib\win\mingw\libhmge_tmsagent.a
d:\harbour\addons\hwgui\hwgui_contrib.hbx
d:\harbour\addons\hwgui\hwgui_core.hbx
d:\harbour\addons\hwgui\hwgui_debug.hbx
d:\harbour\addons\hwgui\hwgui_hbactivex.hbx
d:\harbour\addons\hwgui\hwgui_hbxml.hbx
d:\harbour\addons\hwgui\hwgui_procmisc.hbx
d:\harbour\addons\hwgui\lib
d:\harbour\addons\hwgui\lib\win
d:\harbour\addons\hwgui\lib\win\mingw
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_contrib.a
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_core.a
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_debug.a
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_hbactivex.a
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_hbxml.a
d:\harbour\addons\hwgui\lib\win\mingw\libhwgui_procmisc.a
d:\harbour\addons\josequintas\josequintas.hbx
d:\harbour\addons\josequintas\lib
d:\harbour\addons\josequintas\lib\win
d:\harbour\addons\josequintas\lib\win\mingw
d:\harbour\addons\josequintas\lib\win\mingw\libjosequintas.a
d:\harbour\addons\oohg\lib
d:\harbour\addons\oohg\oohg_bostaurus.hbx
d:\harbour\addons\oohg\oohg_core.hbx
d:\harbour\addons\oohg\oohg_hbprinter.hbx
d:\harbour\addons\oohg\oohg_miniprint.hbx
d:\harbour\addons\oohg\lib\win
d:\harbour\addons\oohg\lib\win\mingw
d:\harbour\addons\oohg\lib\win\mingw\liboohg_bostaurus.a
d:\harbour\addons\oohg\lib\win\mingw\liboohg_core.a
d:\harbour\addons\oohg\lib\win\mingw\liboohg_hbprinter.a
d:\harbour\addons\oohg\lib\win\mingw\liboohg_miniprint.a
d:\harbour\addons\sefazclass\lib
d:\harbour\addons\sefazclass\sefazclass.hbx
d:\harbour\addons\sefazclass\lib\win
d:\harbour\addons\sefazclass\lib\win\mingw
d:\harbour\addons\sefazclass\lib\win\mingw\libsefazclass.a


Usando minhas configurações, gerei:

- SefazClass
- JoseQuintas
- Bostaurus
- HMG Extended
- HWGUI
- OOHG
- Meus aplicativos

Só mesmo HMG3 ficou de fora, mas pode ser que mexi aonde não devia, quando separei Bostaurus... rs
Deu falta de um arquivo CH que não existe na pasta include da HMG3, mas tem na HMG Extended.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9670
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 593 vezes

Nova versão do GCC MinGw

Mensagempor RobertoLinux » 28 Mai 2018 11:39

Bom dia,
Apenas informando, no Ms-Dos 6.22 com o GCC 8.1.0, o Harbour 3.2 gerou Ok, o 3.4 e o xHarbour não deu certo.
Anexos
Captura de tela de 2018-05-28 11-31-15.png
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 97
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Nova versão do GCC MinGw

Mensagempor JoséQuintas » 28 Mai 2018 12:03

Se não me engano, o 3.4 já informa sobre isso de não gerar DOS.
Mas se pensar direito.... a versão DOS nem precisa ser atualizada, porque não terá o que ser acrescentado nela.
Basta usar a última versão fixa de DOS, o que talvez seja a equivalente ao 3.2.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 9670
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 6 vezes
Mens.Curtidas: 593 vezes

Nova versão do GCC MinGw

Mensagempor RobertoLinux » 28 Mai 2018 12:28

Beleza Quintas!

Complementando a informação anterior, mesmo o Harbour 3.2 sendo gerado e gerando APPs em 32 bits, usando DOS EXTENDERS, o mesmo ainda está limitado a API DOS de acesso à arquivos, sendo limitado ao máximo de 124 DBF + 124 CDX, no caso.

Felicidades!
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 97
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Nova versão do GCC MinGw

Mensagempor RobertoLinux » 13 Jun 2018 18:23

Adicionando mais uma INFO ao nobres colegas, usando a API no Linux, o máximo de arquivos abertos é de 62.779 DBF'S + 62.779 CDX´S, isso é uma limitação do Harbour. Até onde testei, o limite para o Linux é de 1.048.576 arquivos abertos para cada usuário comum do SO, infelizmente não tenho equipamento disponível para a plataforma Windows para mais testes. Essa limitação do Harbour é referente aos 65.536 símbolos. nesse caso áreas de trabalhos abertas em simultâneo.

Felicidades ...
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 97
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Nova versão do GCC MinGw

Mensagempor RobertoLinux » 15 Jun 2018 08:41

Bom dia, nobres e prezados colegas.
Mesmo com suas limitações o Harbour é impressionante em suas capacidades, encontrei essa belezura na NET, Rosetta.Prg, creio que esta mais para um (MONSTRO DEVORADOR DE SILÍCIO), rsrsrsrssr ... testei no Ubuntu 18.04 Server em um Core i7-7700 8 núcleos com 16GB RAM + 16GB SWAP e HD de 1TB, compilado com o Harbour 3.2. Em poucos segundos o mesmo consumiu toda a RAM e mais 6GB de SWAP, e levou 30 minutos e 30 segundos para completar todo o processo. Se alguém quiser testar fica por sua conta e risco ....

Procedure Main()
Local k
For k := 0 to 23
? "A(", k, ", 1, -1, -1, 1, 0) =", A(k, 1, -1, -1, 1, 0)
Next
Return

Static Function A(k, x1, x2, x3, x4, x5)
Local ARetVal
Local B := {|| --k, ARetVal := A(k, B, x1, x2, x3, x4) }
If k <= 0
ARetVal := Evaluate(x4) + Evaluate(x5)
Else
B:Eval()
Endif
Return ARetVal

Static Function Evaluate(x)
Local xVal
If ValType(x) == "B"
xVal := x:Eval()
Else
xVal := x
Endif
Return xVal

Felicidades ...
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 97
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Nova versão do GCC MinGw

Mensagempor RobertoLinux » 02 Ago 2018 17:01

Saudações, nobres, prezados e prezadas colegas.

Um Update!

GCC 8.2.0 Lançado

E já fiz os testes do (DJGPP/GCC) 8.2.0 no Ms-Dos 6.22(EN), Funcionou tudo perfeitamente.

Fica a dica.

Felicidades!
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 97
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 03 Ago 2018 09:14

Continuo usando CLANG que na documentação diz isso:

Por isso que o Viktor adotou o CLANG como compilador padrão

Clang is much faster and uses far less memory than GCC.

Pro's of Clang vs GCC:

The Clang ASTs and design are intended to be easily understandable by anyone who is familiar with the languages involved and who has a basic understanding of how a compiler works. GCC has a very old codebase which presents a steep learning curve to new developers.
Clang is designed as an API from its inception, allowing it to be reused by source analysis tools, refactoring, IDEs (etc) as well as for code generation. GCC is built as a monolithic static compiler, which makes it extremely difficult to use as an API and integrate into other tools. Further, its historic design and current policy makes it difficult to decouple the front-end from the rest of the compiler.
Various GCC design decisions make it very difficult to reuse: its build system is difficult to modify, you can't link multiple targets into one binary, you can't link multiple front-ends into one binary, it uses a custom garbage collector, uses global variables extensively, is not reentrant or multi-threadable, etc. Clang has none of these problems.
Clang does not implicitly simplify code as it parses it like GCC does. Doing so causes many problems for source analysis tools: as one simple example, if you write "x-x" in your source code, the GCC AST will contain "0", with no mention of 'x'. This is extremely bad for a refactoring tool that wants to rename 'x'.
Clang can serialize its AST out to disk and read it back into another program, which is useful for whole program analysis. GCC does not have this. GCC's PCH mechanism (which is just a dump of the compiler memory image) is related, but is architecturally only able to read the dump back into the exact same executable as the one that produced it (it is not a structured format).
Clang is much faster and uses far less memory than GCC.
Clang has been designed from the start to provide extremely clear and concise diagnostics (error and warning messages), and includes support for expressive diagnostics. Modern versions of GCC have made significant advances in this area, incorporating various Clang features such as preserving typedefs in diagnostics and showing macro expansions, but GCC is still catching up.
GCC is licensed under the GPL license. Clang uses a BSD license, which allows it to be embedded in software that is not GPL-licensed.
Clang inherits a number of features from its use of LLVM as a backend, including support for a bytecode representation for intermediate code, pluggable optimizers, link-time optimization support, Just-In-Time compilation, ability to link in multiple code generators, etc.
Clang's support for C++ is more compliant than GCC's in many ways.
Clang supports many language extensions, some of which are not implemented by GCC. For instance, Clang provides attributes for checking thread safety and extended vector types.

Fonte: https://clang.llvm.org/comparison.html#gcc
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Nova versão do GCC MinGw

Mensagempor asimoes » 03 Ago 2018 09:21

Até duas semanas passadas, estava compilando o harbour com GCC 7.3 o meu sistema feito com HwGui estava fazendo crash em algumas rotinas aleatoriamente,
Teve uma atualização no MSYS do CLANG para versão 6.01 recompilei o harbour usando a nova versão, recompilei o meu sistema e não houve mais erros no sistema, inclusive a execução ficou até mais rápida.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3827
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 248 vezes
Mens.Curtidas: 169 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Bing [Bot], Google Adsense [Bot] e 13 visitantes


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro