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

Project Fortress
Project Fortress

2 Jun 15

gears-stylus
gears-stylus

20 Feb 15

ChaiScript
ChaiScript

20 Feb 15

phc
phc

3 Jun 15

Comentário para Free Pascal Compiler

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