프리베이직
FreeBASIC![]() | |
![]() | |
패러다임 | 프로시저, 객체 지향 |
---|---|
설계자 | 앙드레[1] 빅터 |
개발자 | 프리비ASIC 개발팀 |
처음 등장한 | 전( |
안정된 릴리스 | 1.09.0 / 2022년 5월 , 전( |
타이핑 분야 | 스태틱 |
OS | MS-DOS, FreeBSD, Linux, Microsoft Windows |
면허증. | GNU GPLv2+, GNU LGPLv2+로 라이선스된 표준 라이브러리 |
웹 사이트 | www |
영향을 받다 | |
QuickBASIC, C |
FreeBASIC은 GNU GPL for Microsoft Windows, 보호 모드 MS-DOS(DOS 익스텐더), Linux, FreeBSD 및 Xbox에서 라이선스된 BASIC에 기반한 무료 오픈 소스 멀티플랫폼 컴파일러 및 프로그래밍 언어입니다.Xbox 버전은 더 이상 [2]유지 관리되지 않습니다.
공식 [3]웹사이트인 FreeB에 따르면ASIC는 Microsoft QuickB에서 작성된 프로그램과의 구문 호환성을 제공합니다.ASIC(QB)QuickB와 달리단, ASIC, FreeB사용자가 선택한 [4]외부 통합 개발 환경(IDE)을 수동으로 설치하지 않는 한 ASIC은 명령줄 전용 컴파일러입니다.FreeB 전용 IDEASIC 에는 FBide 와 FbEdit [5]가 포함되어 있습니다.또한 WinFBE Suite 및 VisualFBEditor [6]등의 그래픽 옵션이 있습니다.
컴파일러 기능
백엔드의 FreeBASIC는 콘솔 및 그래피컬 사용자 인터페이스 애플리케이션을 생성하기 위해 GNU Binutils를 사용합니다.프리베이스IC는 C 정적 라이브러리와 동적 라이브러리의 링크 및 생성을 지원하며 C++ 라이브러리 지원은 제한됩니다.그 결과 FreeB에서 컴파일된 코드ASIC는 대부분의 네이티브 개발 환경에서 재사용할 수 있습니다.
여러 줄 매크로, 조건부 컴파일 및 파일 포함을 포함한 C 스타일의 전처리가 지원됩니다.프리프로세서는 언어 방언과 같은 기호 정보 및 컴파일러 설정에 액세스할 수도 있습니다.
구문
처음에는 FreeBASIC는 Microsoft QuickB를 에뮬레이트가능한 한 가까운 ASIC 구문그 밖에도 언어는 계속 진화하고 있다.그 결과 FreeB는ASIC는 QuickB와의 호환성을 최대화하기 위해 여러 언어 사투리를 조합합니다.ASIC 및 최신 [7]기능에 대한 풀 액세스.새로운 기능에는 객체, 연산자 오버로드, 함수 오버로드, 네임스페이스 [8]등의 개념 지원이 포함됩니다.
줄 바꿈 문자는 프로그래밍 문의 종료를 나타냅니다.언더스코어 행 연속 문자(_)를 사용하여 연속된 여러 줄에 프로그래밍 문을 배포할 수 있지만, 각 문을 콜론(:)으로 구분하여 한 줄에 여러 문을 작성할 수 있습니다.
블록 코멘트 및 엔드 오브 라인 코멘트가 지원됩니다.완전한 코멘트는 아포스트로피로 작성됩니다. '
코멘트 코드 블록은 로 시작합니다./'
으로 끝나다'/
.
FreeBASIC은 대소문자를 구분하지 않습니다.
그래픽스 라이브러리
FreeBASIC은 QuickB를 내장FBgfx를 통한 ASIC 호환 그래픽스 지원.FBgfx는 에 콜을 발신하는 프로그램에 자동으로 포함됩니다.SCREEN
명령어를 입력합니다.백엔드는 Linux에서는 OpenGL, Microsoft Windows에서는 DirectX로 기본 설정되어 있습니다.이 추상화를 통해 FBgfx 그래픽 코드가 크로스 플랫폼과 호환됩니다.단, FBgfx는 하드웨어 액셀러레이션이 되지 않습니다.
OpenGL이나 Windows API 등의 외부 그래픽 유틸리티에 익숙한 사용자는 내장 그래픽 라이브러리를 방해하지 않고 사용할 수 있습니다.
언어 방언
프리B로서ASIC는 진화하여 구식 구문을 깨야 하는 변경이 이루어졌습니다.이전 구문을 사용하여 작성된 프로그램을 계속 지원하려면 FreeBASIC는 다음 사투리를 지원합니다.
- 기본 방언(명령줄 인수로 lang fb)은 모든 새로운 컴파일러 기능을 지원하며 오래된 구문을 허용하지 않습니다.
- FB-lite 방언(-lang fblite)을 사용하면 오래된 스타일의 프로그래밍 외에 대부분의 새로운 객체 지향 기능을 사용할 수 있습니다.암묵적 변수, 접미사,
GOSUB
/RETURN
숫자 라벨 및 기타 기능은 이 방언에서 사용할 수 있습니다. - QB 방언(-lang qb)은 QuickB를 복제하려고 합니다.ASIC 동작으로 많은 QuickB를 컴파일할 수 있습니다.ASIC 프로그램 변경 없음
코드 예시
"Hello, World!" 프로그램과 같은 표준 프로그램은 Quick BASIC에서와 동일하게 수행됩니다.
인쇄 "안녕, 월드!" sleep:끝. '댓글, 프로그램 창이 즉시 닫히지 않습니다.'
FreeBASIC은 메서드, 컨스트럭터, 동적 메모리 할당, 속성 및 임시 할당과 같은 객체 지향 기능을 지원하여 여기에 추가됩니다.
유형 벡터 사적인: x ~하듯이 정수 y ~하듯이 정수 일반의: 선언하다 컨스트럭터 (nX ~하듯이 정수 = 0, 하지 않다 ~하듯이 정수 = 0) 선언하다 소유물 X를 취득하다 ~하듯이 정수 선언하다 소유물 움직이다 ~하듯이 정수 끝. 유형 컨스트럭터 벡터 (nX ~하듯이 정수, 하지 않다 ~하듯이 정수) x = nX y = 하지 않다 끝. 컨스트럭터 소유물 벡터.X를 취득하다 ~하듯이 정수 돌아가다 x 끝. 소유물 소유물 벡터.움직이다 ~하듯이 정수 돌아가다 y 끝. 소유물
어둡다 ~하듯이 벡터 Ptr 플레이어 = 신규 벡터() *플레이어 = 유형< >벡터>(100, 100) 인쇄 플레이어->X를 취득하다 인쇄 플레이어->움직이다 삭제 플레이어 수면. 프로그램 창이 즉시 닫히지 않도록 합니다.
어느 경우든, 그 언어는 학습 목적에 매우 적합합니다.
레퍼런스
- ^ "freeBASIC about page". freeBASIC compiler. Retrieved 5 February 2012.
- ^ FBWiki: FAQPgxbox
- ^ freeBASIC 프로그래밍 언어:공식 웹사이트
- ^ "freeBASIC official website downloads page". freeBASIC compiler. Retrieved 13 May 2017.
- ^ 소스 포지의 FbEdit, 2017년 5월 13일 취득
- ^ FreeBASIC IDE/에디터 - FreeBASIC 포럼
- ^ "freeBASIC dialects". coderJeff's home page. Retrieved 5 February 2012.
- ^ "Differences from QB". freeBASIC.net documentation. Retrieved 5 February 2012.
외부 링크
- 공식 웹사이트
- GitHub에서의 FreeBASIC
- SourceForge의 FreeBASIC
- IDE
- WinFBE - 최신 FreeBASIC 에디터 for Windows
- Visual FBEditor - 크로스 플랫폼 그래피컬 IDE
- fbide.freebasic.net - FBIDE 통합개발환경 무료BASIC
- FBEdit(현재): FreeB용 FBEdit 소스 코드 에디터ASIC 버전 1.0.7.6c
- FBEdit 소스 코드 에디터 무료B소스 포지의 ASIC(구 버전 1.0.6.8)