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)와 같이 완전히 지정된 상속 된 호출 식을 사용하십시오.
오버로드 수정자가 인터페이스에 있어야합니다.
이전 동작 : 함수 / 프로 시저 / 메서드를 구현에서만 과부하로 선언 할 수있었습니다.
새로운 동작 : 오버로드 지시어를 사용하면 인터페이스에도 표시되어야합니다.
해결 방법 : 오버로드 수정자가 인터페이스 및 구현에 모두 사용되는지 확인하십시오.
단위 변경 :
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 도움말 파일에 대한 지원 추가
댓글을 찾을 수 없습니다