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

GCC
GCC

16 Aug 18

J
J

20 Feb 15

ChaiScript
ChaiScript

20 Feb 15

SlimIt
SlimIt

14 Apr 15

Komentarze do Free Pascal Compiler

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