Free Pascal Compiler

소프트웨어 스크린 샷:
Free Pascal Compiler
소프트웨어 정보:
버전: 3.0.4 업데이트
업로드 날짜: 22 Jun 18
개발자: Daniel Mantione
라이센스: 무료
인기: 518

Rating: 3.5/5 (Total Votes: 4)

Free Pascal Compiler (일명 FPK Pascal)는 리눅스, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris)를 지원하는 오픈 소스 파스칼 컴파일러입니다. ), QNX 및 고전 아미가.

Free Pascal Compiler는 Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc 및 ARM 프로세서에서 사용할 수 있습니다.

Free Pascal Compiler는 매우 깨끗한 언어를 특징으로하며 대부분의 프로그래밍 언어와 달리 Makefile을 사용하지 않으며, 큰 F로 Fast, 각 유닛마다 자체 식별자가 있으며 IDE (Integrated Development Environment)를 포함합니다.


또한이 소프트웨어는 어셈블러, 객체 지향 프로그래밍, 스마트 링크, 배포 독립성과의 뛰어난 통합 기능을 제공하며 기존 코드와 호환됩니다.

이 릴리스의 새로운 기능 :

p>이 버전은 3.0에 대한 포인트 업데이트이며 버그 픽스와 업데이트 패키지를 포함하며 그 중 일부는 우선 순위가 높습니다.

버전의 새로운 기능 :

언어 변경 사항 :
익명 상속 호출 :
이전 동작 : 익명 상속 호출은 현재 메서드의 매개 변수와 호환되는 인수를 허용 한 부모 클래스의 메서드로 호출 할 수 있습니다.
새로운 동작 : 익명의 상속 된 호출은 항상 현재 클래스에 의해 재정의 된 부모 클래스의 메서드를 호출하도록 보장됩니다.
예 : http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp를 참조하십시오. 이전 FPC 버전에서 tc3.test의 상속 된 호출은 tc2.test (b : byte; l : longint = 1234);를 호출합니다. 이제 tc.test를 호출합니다.
이유 : FPC 문서, Delphi 호환성을 준수합니다.
해결 방법 : 컴파일러가 지정된 매개 변수를 기반으로 호출 할 메소드를 결정하도록하려면 inherited test (b)와 같이 완전히 지정된 상속 된 호출 식을 사용하십시오.
오버로드 수정자가 인터페이스에 있어야합니다.
이전 동작 : 함수 / 프로 시저 / 메서드를 구현에서만 과부하로 선언 할 수있었습니다.
새로운 동작 : 오버로드 지시어를 사용하면 인터페이스에도 표시되어야합니다.

이유 : 오래된 메커니즘으로 인해 문제가 발견 될 수 있습니다 (구현이 이미 구문 분석되었는지 여부에 따라 컴파일러가 루틴을 과부하 / 무효로 선언 한 것처럼 처리 함). 인터페이스 crc로 인해 원치 않는 단위 재 컴파일이 발생할 수 있습니다. 변경 및 Delphi 호환성.
해결 방법 : 오버로드 수정자가 인터페이스 및 구현에 모두 사용되는지 확인하십시오.
단위 변경 :
TDataset의 여러 메소드는 서명 (TRecordBuffer)을 변경합니다.
종래의 동작 : TDataset의 몇몇 (가상) 메소드는 종종 "버퍼"라고 불리는 유형 "pchar"의 파라미터를 갖는다.
새로운 동작 : pchar 유형이 TRecordBuffer로 변경되었습니다. 현재이 유형은 여전히 ​​p (ansi) char의 별명이지만, D2009 + 호환 인 2.7.1 / 2.8.0 브랜치의 경우 pbyte로 변경됩니다.
이유 : Delphi 2009+ 호환성 및 일반 타이핑 향상. Delphi 2009+ (및 향후 완전히 호환되는 FPC 모드)에서 pchar는 더 이상 바이트에 대한 포인터가 아닙니다. 이 변경 사항은 다시 2.6 (.2)으로 병합되지만 TRecordBuffer = pchar로 병합됩니다.해결 방법 : 버퍼 매개 변수에 TRecordBuffer를 사용하도록 관련 가상 메소드를 변경하십시오. 구형 Delphis와 FPC가 작동하도록 TRecordBuffer = pansichar를 정의하십시오. 버퍼가 타입 변환 된 곳에서는 pchar 대신 TRecordbuffer를 사용하십시오.
DLLParam이 Longint에서 PtrInt로 변경되었습니다.
이전 동작 : DLLParam은 Win64에서도 Longint 유형이었습니다.
새로운 동작 : DLLParam은 이제 64 비트 시스템에서도 PtrInt 유형입니다.
이유 : 데이터 손실을 방지하고 Windows 헤더의 선언과 일치시킵니다.
해결 방법 : dll 후크로 사용 된 프로 시저의 선언을 Longint 대신 PtrInt 매개 변수를 사용하도록 변경하십시오.
Unix 및 Unixutils 단위의 일부 기호는 더 이상 사용되지 않습니다.
이전 동작 : unixutils.getfs (여러 변형), unix.fpsystem (짧은 문자열 버전 만), Unix.MS_ constants 및 unix.tpipe에 대한 더 이상 사용되지 않는 경고가 없습니다. unix.statfs
새로운 동작 : 컴파일러는 이러한 기호에 대해 더 이상 사용되지 않는 경고를 내 보냅니다. 이후 버전에서는이 파일이 제거 될 수 있습니다.이유 : getfs는 오래 전에 전적으로 플랫폼 간 함수 sysutils.getfilehandle로 대체되었습니다. fpsystem (shortstring)은 1.0.x-> 2.0.x 이전 (ansistring 버전은 계속 지원됨)의 나머지 부분이었으며 MS_ 상수는 FPC에서 지원하지 않는 msync 호출 용이므로 사용되지 않았으며 10 년에 걸쳐 커널 1.x와 시작될 수있는 tpipe는 2.0 시리즈에서 (fp) 파이프가 이동 된 baseunix.TFildes의 1.0.x 별칭이었습니다. Unix.statfs는 2.4.0에서 다른 이름이 바뀌었을 때 fp * 접두사로 바르게 이름이 바뀌지 않은 오버로드 된 버전입니다
해결 방법 : 새로운 변종 (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes)을 사용하십시오. MS_ 상수의 경우 상수의 현재 값을 사용하는 코드가있는 곳에서 현재 값을 가져옵니다.
TStrings.DelimitedText 동작이 변경되었습니다 (단위 클래스).이전 동작 : StrictDelim이 true 인 경우, TStrings.DelimitedText는 적어도 필드 앞과 끝에 공백 (아마도 다른 낮은 ASCII 문자)이있는 경우 SDF 형식 사양 (Delphi 도움말에 정의되어 있음)을 완전히 따르지 않았습니다. 잘 따옴표와 줄 끝으로. 더욱이 StrictDelimiter가 true이고 위에서 언급 한 경우 TString .DelimitedText를 저장하고 다른 TString에 해당 텍스트를로드하면 둘 사이의 차이가 발생합니다. 참고 : StrictDelimiter는 기본적으로 false입니다.
새로운 동작 : FPC는 Delphi의 동작을 따릅니다.
이유 : 일관성 (DelimitedText에서 쓰기 및 읽기는 동일한 문자열을 야기 함), 델파이 호환성 (SDF 사양에 따라).
해결 방법 : DelimitedText를 읽거나 쓰는 기존 코드를 검토하십시오. 필요한 경우 데이터를 변환하거나 변환기 코드를 작성하십시오. 자세한 테스트는 tests webtbs tw19610.pp를 참조하십시오.
fcl-image TTiffIDF가 TTiffIFD로 이름이 바뀜 :
이전 동작 : "이미지 파일 디렉토리"에 대한 tiff 헬퍼 클래스 철자가 잘못되었습니다. TiffIDF (tiffcmn 단위)
새로운 동작 : 이제 TTiffIFD로 이름이 변경되었습니다.
이유 : 일관성, 낮은 사용률
해결 방법 : 식별자를 적절하게 바꿉니다.

단위 libc는 더 이상 사용되지 않는 경고를 발행합니다 :
오래된 행동 : libc 단위는 더 이상 사용되지 않는 경고를 발행하지 않았습니다.
새로운 동작 : 유닛 libc가 사용될 때 더 이상 사용되지 않는 경고가 표시되어 업데이트를 요청합니다.
이유 : 단위 libc는 이식성이 제한적인 Kylix 유산 단위입니다.
해결 방법 : libc unit에 설명 된대로 적절한 FPC 장치를 사용하십시오
다른:
UPX 지원이 제거되었습니다.
이전 동작 : FPC Makefiles에 남아있는 UPX (실행 가능한 패커) 지원이 있었으며 DOS 및 Windows FPC 릴리스에는 UPX 바이너리가 포함되었습니다.
새로운 동작 : 모두 삭제되었습니다.
이유 : 릴리스 바이너리가 잠시 동안 UPX되지 않았습니다. FPC 실행 파일의 크기는 일반적으로 전체 설치 크기에 비해 중요하지 않으며 UPX를 사용하면 때때로 바이러스 스캐너의 오탐, OS의 페이징 동작 악화, 특정 실행 섹션과의 비 호환성 ...)
해결 방법 : 홈페이지에서 UPX를 다운로드하여 설치하고 일반적으로 UPX를 다시 필요성을 재평가하십시오.

버전 2.4.4의 새로운 기능 :

이 버전에는 2010 년 6 월 초부터 2011 년 3 월까지 대부분의 라이브러리 픽스가 포함되어 있습니다.
64 비트와 관련된 대부분의 컴파일러 수정 사항이 있습니다.

2.4.0 버전의 새로운 기능 :


드워프 디버그 정보 개선,
몇 가지 새로운 목표
64 비트 Mac OS X (x86_64 / ppc64)
iPhone (Mac OS X / Arm)
하이쿠 (BeOS 가족 출신)
향상된 ARM EABI 지원
전체 프로그램 최적화
많은 컴파일러 버그 수정과 라이브러리 업데이트의 반년 (2.2.4 이후)

버전 2.2.4의 새로운 기능 :

전체 :
실험적 패키지 - 설치 도구
패키지 :
fcl-image에서 TIFF 읽기 / 쓰기 지원 추가
CHM 지원의 개선 및 수정
2.13.4 이상의 gtk 버전과 gtk2 패키지 연결 수정.
IDE :
CHM 도움말 파일에 대한 지원 추가

유사한 소프트웨어

Chicken
Chicken

17 Jul 15

Yazoo
Yazoo

20 Feb 15

Spackager
Spackager

14 Apr 15

LLVM
LLVM

17 Aug 18

코멘트 Free Pascal Compiler

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!