한국정보올림피아드 경시부문 언어변경 요약
1. 대회언어변경
o 1998년 개발된 대회용 언어를 변화하는 프로그래밍 환경에 맞추어 전세계 공용의 표준 C/C++언어로 변경하여 국제 경쟁력 제고
o 한국정보올림피아드 경시부문 대회용 프로그램언어를 기존 Visual C++ 6.0 과 Visual Basic 6.0을 최신 리눅스버전의 표준 C/C++(OS : Ubuntu 12.04 LTS i386, Gnome Classic)언어로 변경하여 실시
2. 대회용 언어변경
구분 |
변경 전 | 변경 후 |
OS | Windows XP / 7 |
Ubuntu Linux 12.04 |
컴파일러 | Visual C++, Visual Basic | GNU C/C++ Compiler |
IDE | Visual Studio 6.0 | Eclipse / Code::Blocks |
3. 대회용 언어설치
구 분 | PC에 직접설치 | 가상머신으로 설치 |
OS | - Linux OS 직접설치 | - Windows에서 Linux OS가 가상으로 동작하도록 설치 |
설치시 필요 매체 | - 설치용 CD 나 USB 필요 | - 가상이미지화일 필요 |
PC 활용 | - 100% 활용 | - 일부만 활용 |
설치 및 복구 | - Windows를 포맷 또는 Linux를 위한 별도 파티션 필요 - 원래 환경으로 복귀가 어려움 | - 설치 간단 - 쉽게 원래 PC환경으로 복귀 가능 |
4. C++컴파일러와의 차이점
o main
- int main() 형태로 사용하는 것이 표준프로그램이 종료될 때 무사히 종료되었다는 뜻으로 0을 return 함
기존 환경(Visual C++) |
바뀌는 환경(G++) |
void main() { } |
int main() { 할일들 return 0; } |
o variable scope
- for문 안에서만 사용하도록 정의된 변수 i 가 for문 밖에서도 사용 가능한 것은 VC++의 버그
기존 환경(Visual C++) |
바뀌는 환경(G++) |
for(int i = 0; i < 10; i++) printf("%d ", i ); printf("%d ", i ); |
int i; for(i = 0; i < 10; i++) printf("%d ", i ); printf("%d ", i ); |
기존 환경(Visual C++) |
바뀌는 환경(G++) |
__int64 gib_num = 10000000; big_num *=big_num; printf("%I64d", big_num); |
long long gib_num = 10000000; big_num *=big_num; printf("%lld", big_num); |
기존 환경(Visual C++) |
바뀌는 환경(G++) |
int a = 10; char str[10]; itoa(a, str, 10); |
int a = 10; char str[10]; sprintf(str, "%d", a); |
기존 환경(Visual C++) |
바뀌는 환경(G++) |
void main(X) | int main(O) |
__int64(X) | long long(O) |
itoa(X) | sprintf(O) |
변수는 선언한 곳 안에서만 사용 |
- USB로 구울 경우
·How to create USB stick에서 설명되어 있는대로 진행
'컴퓨터경시대회' 카테고리의 다른 글
[정보올림피아드] 2014년 정보올림피아드 일정 및 세부계획 (0) | 2014.02.11 |
---|---|
2013년도 한국정보올림피아드 일정입니다. (0) | 2013.03.13 |
2013년도 제30회 한국정보올림피아드대회(경시부문) 대회용 프로그래밍언어 변경 (0) | 2013.02.04 |
[정보올림피아드] 2012년 29회 정보올림피아드 일정입니다. (0) | 2012.04.04 |
[정보올림피아드] 2011년 정보올림피아드 지역(경기도)예선 수학문제 풀이 (0) | 2011.04.18 |