Free Pascal Compiler

Tela Software:
Free Pascal Compiler
Detalhes de Software:
Versão: 3.0.4 Atualizado
Data de upload: 22 Jun 18
Revelador: Daniel Mantione
Licença: Livre
Popularidade: 262

Rating: 4.0/5 (Total Votes: 2)

O Free Pascal Compiler (também conhecido como FPK Pascal) é um compilador Pascal de código aberto que suporta os seguintes sistemas operacionais: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS clássico, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX e Amiga Clássico.

O Free Pascal Compiler está disponível para diferentes processadores Intel x86, Amd64 / x8664, PowerPC, PowerPC64, Sparc e ARM.

O Free Pascal Compiler apresenta uma linguagem muito limpa, não usa Makefiles ao contrário da maioria das linguagens de programação, é rápido com um F grande, cada unidade tem seus próprios identificadores e inclui um IDE (Integrated Development Environment).

Além disso, o software apresenta grande integração com montadores, programação orientada a objetos, smartlinking, independência de distribuição e é compatível com o código existente.

O que há de novo neste release:

  • Esta versão é uma atualização pontual para o 3.0 e contém pacotes de correções de bugs e atualizações, alguns dos quais são de alta prioridade.

O que há de novo na versão:

  • Alterações de idioma:
  • Chamadas herdadas anônimas:
  • Comportamento antigo: uma chamada herdada anônima poderia fazer uma chamada para qualquer método em uma classe pai que aceitasse argumentos compatíveis com os parâmetros do método atual.
  • Novo comportamento: uma chamada herdada anônima sempre será chamada pelo método em uma classe pai que foi substituída pela atual.
  • Exemplo: consulte http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Nas versões anteriores do FPC, a chamada herdada em tc3.test passaria para tc2.test (b: byte; l: longint = 1234); Agora ele liga para o tc.test.
  • Razão: Conformidade com a documentação do FPC, compatibilidade com Delphi.
  • Solução: Se você desejar que o compilador decida qual método chamar com base nos parâmetros especificados, use uma expressão de chamada herdada totalmente especificada, como o teste herdado (b).
  • O modificador de sobrecarga deve estar presente na interface:
  • Comportamento antigo: foi possível declarar uma função / procedimento / método como sobrecarga apenas na implementação.
  • Novo comportamento: se uma diretiva de sobrecarga for usada, ela também deverá aparecer na interface.
  • Motivo: O mecanismo antigo pode dificultar a localização de problemas (dependendo se a implementação já foi ou não analisada, o compilador trataria a rotina como se fosse declarada com / sem sobrecarga), poderia causar recompilações de unidade indesejadas devido para fazer interface com as mudanças do crc e compatibilidade com o Delphi.
  • Solução: certifique-se de que o modificador de sobrecarga esteja presente na interface e na implementação, se você usá-lo.
  • Alterações da unidade:
  • Diversos métodos do TDataset alteram a assinatura (TRecordBuffer):
  • Comportamento antigo: Vários métodos (virtuais) do TDataset possuem parâmetros do tipo & quot; pchar & quot ;, que são freqüentemente chamados & quot; buffer & quot;.
  • Novo comportamento: o tipo pchar foi alterado para TRecordBuffer. Atualmente esse tipo ainda é um alias para p (ansi) char, mas com o tempo ele será alterado para pbyte para a ramificação 2.7.1 / 2.8.0, que é compatível com D2009 +.
  • Razão: Preparação para Delphi 2009+ compatibilidade e melhoria da digitação geral. No Delphi 2009+ (e modos FPC totalmente compatíveis no futuro) pchar não é mais ponteiro para byte. Essa alteração será mesclada de volta para 2.6 (.2), ​​mas com TRecordBuffer = pchar.
  • Solução: altere os métodos virtuais relevantes para usar o TRecordBuffer para parâmetros de buffer. Defina TRecordBuffer = pansichar para manter Delphis e FPCs mais antigos funcionando. Em locais onde um buffer é typecasted, não use pchar, mas o símbolo TRecordbuffer.
  • DLLParam mudou de Longint para PtrInt:
  • Comportamento antigo: DLLParam era do tipo Longint mesmo no Win64.
  • Novo comportamento: o DLLParam agora é do tipo PtrInt e também em sistemas de 64 bits.
  • Motivo: impedir a perda de dados, corresponder à declaração nos cabeçalhos do Windows.
  • Solução: altere a declaração dos procedimentos usados ​​como dll hook para obter um parâmetro PtrInt em vez de Longint.
  • Alguns símbolos na unidade Unix e Unixutils foram descontinuados:
  • Comportamento antigo: nenhum aviso preterido para unixutils.getfs (várias variantes), unix.fpsystem (somente versão com atalho), constantes Unix.MS_ e unix.tpipe. unix.statfs
  • Novo comportamento: o compilador emitirá um aviso preterido para esses símbolos. Em versões futuras, elas podem ser removidas.
  • Razão: getfs foi substituído por uma função totalmente multi-plataforma sysutils.getfilehandle há muito tempo. O fpsystem (shortstring) foi um remanescente da migração 1.0.x- & gt; 2.0.x (a versão ansistring permanece suportada), as constantes MS_ são para uma chamada msync que não é suportada pelo FPC e, portanto, não foram utilizadas e não foram verificadas para mais de uma década e pode ter data para o kernel 1.x vezes, o tpipe era o alias 1.0.x de baseunix.TFildes, a unidade onde o pipe (fp) foi movido para dentro durante a série 2.0. Unix.statfs é uma versão sobrecarregada que não foi renomeada para o prefixo fp * quando os outros foram renomeados em 2.4.0
  • Solução: use as novas variantes (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). No caso das constantes MS_, obtenha valores atuais para as constantes do mesmo local onde você obteve o código que as utiliza.
  • Comportamento de TStrings.DelimitedText alterado (Classes de unidade):
  • Comportamento antigo: Se StrictDelim for true, TStrings.DelimitedText não seguiu completamente a especificação do formato SDF (que é definida na ajuda do Delphi) pelo menos no caso de espaços (e presumivelmente outros caracteres ASCII baixos) na frente e no final de campos, bem como cotações e finais de linha. Pior, se StrictDelimiter for true e, nos casos mencionados acima, salvar um TString .DelimitedText e carregar esse texto em outro TString levará a diferenças entre os dois. Nota: StrictDelimiter é false por padrão.
  • Novo comportamento: o FPC segue o comportamento do Delphi.
  • Razão: Consistência (escrever e ler em DelimitedText deve resultar nas mesmas strings), compatibilidade com Delphi (seguindo a especificação SDF).
  • Solução: analise o código existente que lê ou escreve DelimitedText; se necessário, converta os dados ou grave o código do conversor. Veja tests webtbs tw19610.pp para um teste detalhado.
  • fcl-image TTiffIDF renomeado para TTiffIFD:
  • Comportamento antigo: a classe tiff helper do & quot; diretório do arquivo de imagem & quot; foi digitada incorretamente TiffIDF (unidade tiffcmn)
  • Novo comportamento: agora renomeado para TTiffIFD
  • Razão: Consistência, baixo uso
  • Solução: renomeie o identificador conforme apropriado.
  • a unidade libc emite um aviso descontinuado:
  • Comportamento antigo: embora tenha ficado obsoleto por anos, a unidade libc não emitiu um aviso preterido
  • Novo comportamento: um aviso preterido é exibido quando a unidade libc é usada, solicitando sua atualização.
  • Razão: a unidade libc é uma unidade legada da Kylix, com portabilidade limitada
  • Solução: Use unidades FPC adequadas, conforme descrito na unidade libc
  • Outro:
  • O suporte a UPX foi removido:
  • Comportamento antigo: havia alguns restos de suporte ao UPX (um empacotador executável) nos Makefiles do FPC, e os releases do DOS e do Windows FPC incluíam um binário UPX.
  • Novo comportamento: todos removidos.
  • Razão: os binários de lançamento não são UPX há algum tempo. O tamanho dos executáveis ​​FPC é geralmente insignificante nos dias de hoje em comparação com o tamanho total da instalação, e usar UPX ocasionalmente causa alguns incômodos menores (falsos positivos de scanners de vírus, pior comportamento de paginação pelo SO, incompatibilidades com certas seções executáveis, ...)
  • Solução: faça o download e instale o UPX você mesmo em sua página inicial e, em geral, reavalie a necessidade dele.

O que há de novo na versão 2.4.4:

  • Esta versão contém a maioria das correções de biblioteca do início de junho de 2010 até março de 2011.
  • Há também algumas correções de compilador, a maioria relacionada a 64 bits.

O que há de novo na versão 2.4.0:

  • Recursos do Delphi para todas as plataformas,
  • Melhorias de informações de depuração do anão,
  • Vários novos alvos
  • Mac OS X de 64 bits (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (da família BeOS)
  • Suporte aprimorado ao ARM EABI
  • Otimização total do programa
  • Muitas correções de erros do compilador e meio ano de atualizações de bibliotecas (desde a 2.2.4)

O que há de novo na versão 2.2.4:

  • Todos:
  • Ferramenta experimental de instalação de pacotes
  • Pacotes:
  • Adicionado suporte para leitura / gravação de TIFF na imagem fcl
  • Melhorias e correções no suporte ao CHM
  • Corrigido o link do pacote gtk2 com as versões gtk acima 2.13.4
  • IDE:
  • Adicionado suporte para arquivos de ajuda do CHM

Programas semelhantes

Genshi Compiler
Genshi Compiler

11 May 15

Linaro GCC
Linaro GCC

17 Feb 15

PyRuby
PyRuby

11 May 15

YML
YML

11 May 15

Comentário para Free Pascal Compiler

Comentários não encontrado
Adicionar comentário
Ligue imagens!