Free Pascal Compiler

Screenshot Software:
Free Pascal Compiler
Szczegóły programowe:
Wersja: 3.0.4 Aktualizowane
Filmu: 22 Jun 18
Wywoływacz: Daniel Mantione
Licencja: Wolny
Popularność: 262

Rating: 4.0/5 (Total Votes: 2)

Darmowy kompilator Pascala (znany także jako FPK Pascal) to kompilator Open Pascal obsługujący następujące systemy operacyjne: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX i Classic Amiga.

Darmowy kompilator Pascala jest dostępny dla różnych procesorów Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc i ARM.

Darmowy kompilator Pascal ma bardzo czysty język, nie używa plików Makefile w przeciwieństwie do większości języków programowania, jest szybki z dużym F, każda jednostka ma swoje własne identyfikatory i zawiera IDE (Integrated Development Environment).

Co więcej, oprogramowanie zapewnia doskonałą integrację z asemblerami, programowanie obiektowe, inteligentne linkowanie, niezależność dystrybucji i jest zgodne z istniejącym kodem.

Co nowego w tym release:

  • Ta wersja jest aktualizacją punktu do wersji 3.0 i zawiera poprawki błędów i pakiety aktualizacji, z których niektóre mają wysoki priorytet.

Co nowego w wersji:

  • Zmiany językowe:
  • Anonimowe połączenia dziedziczone:
  • Stare zachowanie: Anonimowe wywołanie dziedziczone może wywołać dowolną metodę w klasie nadrzędnej, która przyjęła argumenty zgodne z parametrami bieżącej metody.
  • Nowe zachowanie: Anonimowe wywołanie dziedziczone gwarantuje zawsze wywołanie metody w klasie nadrzędnej, która została nadpisana przez bieżącą.
  • Przykład: zobacz http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. W poprzednich wersjach FPC dziedziczone wywołanie w tc3.test wywoływałoby do tc2.test (b: bajt; l: longint = 1234); Teraz dzwoni do tc.test.
  • Powód: zgodność z dokumentacją FPC, zgodność z Delphi.
  • Rozwiązanie: Jeśli chcesz, aby kompilator decydował, która metoda wywoływać w oparciu o określone parametry, użyj w pełni określonego dziedziczonego wyrażenia wywołania, takiego jak test dziedziczony (b).
  • Modyfikator przeciążenia musi być obecny w interfejsie:
  • Stare zachowanie: Możliwe było zadeklarowanie funkcji / procedury / metody jako przeciążenia tylko w implementacji.
  • Nowe zachowanie: jeśli używana jest dyrektywa przeciążania, musi również pojawić się w interfejsie.
  • Powód: stary mechanizm może powodować problemy ze znalezieniem problemu (w zależności od tego, czy implementacja została już przeanalizowana, kompilator traktowałby procedurę tak, jakby była zadeklarowana z / bez przeciążenia), może to spowodować niepożądane ponowne rekompilacje jednostek z powodu do zmiany interfejsu crc i kompatybilności Delphi.
  • Rozwiązanie: Upewnij się, że modyfikator przeciążenia jest obecny zarówno w interfejsie, jak iw implementacji, jeśli go używasz.
  • Zmiany jednostek:
  • Kilka metod TDataset zmienia sygnaturę (TRecordBuffer):
  • Stare zachowanie: kilka (wirtualnych) metod TDataset ma parametry typu "pchar", które są często nazywane "buforem".
  • Nowe zachowanie: Typ pchar został zmieniony na TRecordBuffer. Obecnie ten typ nadal jest aliasem dla p (ansi) char, ale z czasem zostanie zmieniony na pbyte dla gałęzi 2.7.1 / 2.8.0, która jest kompatybilna z D2009 +.
  • Powód: Przygotowanie do zgodności Delphi 2009+ i poprawa pisania na klawiaturze. W Delphi 2009+ (iw pełni kompatybilne tryby FPC w przyszłości) pchar nie jest już wskaźnikiem do bajtu. Ta zmiana zostanie scalona z powrotem do wersji 2.6 (.2), ​​ale z TRecordBuffer = pchar.
  • Rozwiązanie: Zmień odpowiednie metody wirtualne, aby używać TRecordBuffer do parametrów bufora. Zdefiniuj TRecordBuffer = pansichar, aby starsze wersje Delphis i FPC działały. W miejscach, w których bufor jest typograficzny, nie używaj pchar, ale symbol TRecordbuffer.
  • DLLParam zmieniono z Longint na PtrInt:
  • Stare zachowanie: DLLParam był typu Longint nawet na Win64.
  • Nowe zachowanie: DLLParam jest teraz typu PtrInt, więc także w systemach 64-bitowych.
  • Przyczyna: Zapobiegaj utracie danych, dopasuj deklarację w nagłówkach Windows.
  • Środek zaradczy: Zmień deklarację procedur używanych jako hook, aby pobrać parametr PtrInt zamiast Longint.
  • Niektóre symbole w jednostkach Unix i Unixutils zostały uznane za przestarzałe:
  • Stare zachowanie: brak przestarzałego ostrzeżenia dla unixutils.getfs (kilka wariantów), unix.fpsystem (tylko wersja skrócona), stałe UNIX.MS_ i unix.tpipe. unix.statfs
  • Nowe zachowanie: kompilator wyśle ​​przestarzałe ostrzeżenie dla tych symboli. W przyszłych wersjach mogą one zostać usunięte.
  • Powód: getfs został zastąpiony całkowicie wieloplatformową funkcją sysutils.getfilehandle dawno temu. fpsystem (shortstring) był pozostałością po migracji 1.0.x-> 2.0.x (wersja ansistoring jest nadal obsługiwana), stałe MS_ są przeznaczone dla wywołania msync, które nie jest obsługiwane przez FPC, a zatem nie były używane i odznaczone dla w ciągu dekady i może datować na 1.x kernel, tpipe był aliasem 1.0.x baseunix.TFildes, jednostki, w której rura (fp) została przeniesiona do wejścia podczas serii 2.0. Unix.statfs jest przeciążoną wersją, która nie została poprawnie przemianowana na prefiks fp *, gdy inne zostały zmienione w wersji 2.4.0
  • Rozwiązanie: Użyj nowych wariantów (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). W przypadku stałych MS_ pobierz bieżące wartości stałych z tego samego miejsca, w którym masz kod, który ich używa.
  • Zmiana zachowania TStrings.DelimitedText (klasy jednostek):
  • Stare zachowanie: jeśli parametr StrictDelim ma wartość true, specyfikacja TStrings.DelimitedText nie była zgodna ze specyfikacją formatu SDF (zdefiniowaną w pomocy programu Delphi), przynajmniej w przypadku spacji (i prawdopodobnie innych znaków ASCII) z przodu i na końcu pól, jak również cytaty i zakończenia linii. Co gorsza, jeśli StrictDelimiter jest prawdziwy, oraz w przypadkach wymienionych powyżej, zapisywanie TString .DelimitedText i ładowanie tego tekstu w innym tekście TString prowadzi do różnic między tymi dwoma. Uwaga: StrictDelimiter jest domyślnie fałszywy.
  • Nowe zachowanie: FPC podąża za zachowaniem Delphi.
  • Powód: Spójność (wypisywanie i czytanie w DelimitedText powinno dawać takie same ciągi), zgodność Delphi (zgodnie ze specyfikacją SDF).
  • Rozwiązanie: Przejrzyj swój istniejący kod, który odczytuje lub pisze DelimitedText; w razie potrzeby przekonwertuj dane lub wpisz kod konwertera. Zobacz test webtbs tw19610.pp, aby uzyskać szczegółowy test.
  • fcl-image TTiffIDF zmieniono nazwę na TTiffIFD:
  • Stare zachowanie: klasa pomocnicza tiff dla "katalogu plików obrazów" została błędnie wpisana TiffIDF (jednostka tiffcmn)
  • Nowe zachowanie: Teraz zmieniono nazwę na TTiffIFD
  • Powód: spójność, niskie zużycie
  • Rozwiązanie: Zmień nazwę identyfikatora odpowiednio.
  • unit libc wydaje przestarzałe ostrzeżenie:
  • Stare zachowanie: mimo że jest przestarzałe przez lata, jednostka libc nie wydała przestarzałego ostrzeżenia
  • Nowe zachowanie: nieaktualne ostrzeżenie pojawia się, gdy używana jest jednostka libc, zachęcając do aktualizacji.
  • Powód: jednostka libc to starsza jednostka Kylix z ograniczoną przenośnością
  • Rozwiązanie: Użyj odpowiednich jednostek FPC, jak opisano w jednostce libc
  • Inne:
  • Obsługa UPX została usunięta:
  • Stare zachowanie: W pliku Makefile FPC było trochę resztek UPX (obsługa plików wykonywalnych), a wersje DOS i Windows FPC zawierały binarne UPX.
  • Nowe zachowanie: wszystko usunięte.
  • Powód: pliki binarne wydania nie były przez jakiś czas UPX. Rozmiar plików wykonywalnych FPC jest obecnie mało znaczący w porównaniu z całkowitym rozmiarem instalacji, a używanie UPX sporadycznie powoduje pewne drobne niedogodności (fałszywe alarmy od skanerów antywirusowych, gorsze zachowanie stronicowania przez system operacyjny, niezgodności z niektórymi fragmentami wykonywalnymi, ...)
  • Rozwiązanie: Pobierz i zainstaluj UPX samodzielnie ze swojej strony głównej i ogólnie zrewiduj jego potrzebę.

Co nowego w wersji 2.4.4:

  • Ta wersja zawiera większość poprawek bibliotecznych od początku czerwca 2010 do marca 2011 roku.
  • Istnieją również pewne poprawki kompilatora, w większości związane z wersją 64-bitową.

Co nowego w wersji 2.4.0:

  • Delphi jak zasoby dla wszystkich platform,
  • Udoskonalenia informacji debugowania krasnoludków,
  • Kilka nowych celów
  • 64-bitowy Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (z rodziny BeOS)
  • Udoskonalona obsługa ARAB EABI
  • Cała optymalizacja programu
  • Wiele poprawek kompilatora i pół roku aktualizacji biblioteki (od wersji 2.2.4)

Co nowego w wersji 2.2.4:

  • Wszystkie:
  • Pakiety eksperymentalne - narzędzie instalacyjne
  • Pakiety:
  • Dodano obsługę odczytu / zapisu TIFF w obrazie fcl
  • Ulepszenia i poprawki w obsłudze CHM
  • Naprawiono powiązanie pakietu gtk2 z wersjami gtk powyżej 2.13.4
  • IDE:
  • Dodano obsługę plików pomocy CHM

Podobne oprogramowanie

nml
nml

15 Apr 15

Genshi Compiler
Genshi Compiler

11 May 15

OpenCL
OpenCL

11 May 15

Komentarze do Free Pascal Compiler

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!