본문 바로가기

CP diary

CLion PS용으로 설정하기(파일 입출력, 다중 main)

728x90
728x90

ICPC에서도 공식적으로 지원하는 IDE인 CLion은 많은 부분이 편하지만 표준 입출력을 리눅스처럼 파일을 줄 수 없다던가 프로젝트 단위로 지원해서 파일 하나하나에 main 함수를 넣을 수 없다던가 하는 문제가 존재한다. 이 포스트에서는 적절한 설정을 통해 CLion을 PS 환경에서 쓰기 편하게 하는 법을 알아본다.

파일 입출력

에디터에서 빨간 동그라미에 해당하는 메뉴에 프로젝트 명 뒤 옵션이 Debug로 되어있는지 확인한다. 그렇지 눌러서 Debug로 바꿔주자. 그리고 Edit Configuration 메뉴에 들어간다.

 

Working Directory에 입출력 파일이 들어갈 폴더를 지정한다. 이러면 프로젝트에서 외부 파일 IO를 할 수 있는 root directory가 설정된다.

 

그 다음 CMakeLists.txt에서 add_compile_definitions를 추가한다. 프로젝트 전역으로 적용되는 컴파일 definition을 의미하는데 여기서 definiton을 하나 생성하여 해당 매크로로 표준 입출력으로 받게 해주는 freopen 함수를 호출할 것이다. 매크로 이름은 적당한 걸로 해주자.

 

추가하면 오른쪽 위처럼 reload를 하라고 나오는데 auto reload를 하던지 reload changes를 눌러 바뀐 사항을 적용한다.

 

그리고 첫 줄에 ifdef [add_compile_definition 할 때 지은 이름] 매크로를 추가하여 freopen함수를 호출하여 테스트 케이스 파일을 표준 입출력으로 받도록 하면 된다.

 

그러면 모든 입력은 freopen에서 설정한 파일에서 들어오게 되어 입력을 번거롭게 따로 입력하지 않아도 된다.

파일 각자 컴파일&실행

CLion은 여러 cpp 파일에 main 함수가 중복으로 들어가는 것을 허용하지 않는다. 각 문제별로 코드를 할당해야 하는 CP 환경에서는 불편할 수 있는데 플러그인을 추가하여 해결할 수 있다.

 

Settings에 Plugins로 검색하여 New Excutable C/C++을 검색하고 설치한다.

 

위 설명에 따로 실행시키고 싶은 파일이 있으면 shift + alt + e를 누르라고 되어있다.

 

각자 소스 파일을 만들고 단축키를 추가하면 CMakeLists.txt에 add_executable이 추가된다.

 

 

그러면 Alt + Shift + F10  단축키 또는 Run 메뉴를 선택하여 지정된 소스를 컴파일 후 실행할 수 있다.

 

리스트에서 원하는 코드를 실행하면 된다.

728x90
728x90

'CP diary' 카테고리의 다른 글

앳코더 민트 후기, 민트 가는 법 (앳코더 공부법)  (2) 2022.08.23