๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

C++ for PS

CLion ํ•œ๊ธ€ ์ž…๋ ฅ ๊นจ์ง (windows, ์ˆ˜๋งŽ์€ ์ธ์ฝ”๋”ฉ ์„ค์ • O)

 

c++๋กœ ์ฝ”ํ…Œ ๊ณต๋ถ€๋ฅผ ํ˜ธ๊ธฐ๋กญ๊ฒŒ ์‹œ์ž‘ํ•˜๋ ค๋Š” ์ฒซ ๋‚ ... 

jetbrain ์‚ฌ์—์„œ ๋‚ด๋†“์€ clion ์ด๋ผ๋Š” IDE์— ๋Œ€ํ•ด ๊ฐ•๋ ฅ ์ถ”์ฒœ๋ฐ›์•„ ์„ค์น˜ํ–ˆ๋‹ค.

intelliJ๋กœ ๊ทธ๋ž˜๋„ ์ฝ”๋”ฉ์„ ์ œ๋ฒ• ํ•ด๋ณด์•„์„œ jetbrain ์‚ฌ์˜ ํˆด์— ๋Œ€ํ•œ ์‹ ๋ขฐ๊ฐ€ ์žˆ์—ˆ๊ณ  ๊ธฐ์กด์— ์“ฐ๋˜ VS ํ™˜๊ฒฝ์ด ๋งˆ์Œ์— ์•ˆ๋“ค์—ˆ๋˜ ํƒ“๋„ ์žˆ์—ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค clion์ด ์ •๋ง ์˜ˆ์˜๋‹ค!!! ๐Ÿฅณ

๋ฌผ๋ก  gcc ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ด์œ ๋„ ์žˆ๋‹ค ใ…Žใ…Ž

๋‚ด ๋ฌธ์ œ์ 

๋‚ด์žฅ๋œ ์ฝ˜์†”์—์„œ ํ•œ๊ธ€์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•ญ์ƒ ๋‹ค๋ฅธ ๊ธ€์ž๋กœ ๋ณ€ํ™˜๋˜์–ด ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค.

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

๋‚ด๊ฐ€ ํ•ด๋ดค๋˜ ๋ชจ๋“  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ ์–ด๋ณธ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์€ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋ฐฉ๋ฒ•์ด๋‹ค.

1. Settings > Editor > File Encodings ์„ค์ •ํ•˜๊ธฐ

global, project, properties ์˜ ์„ค์ •์„ utf-8๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.

์ด ๋ถ€๋ถ„์€ ๋ง ๊ทธ๋Œ€๋กœ ํŒŒ์ผ ์ž์ฒด์˜ ์ธ์ฝ”๋”ฉ์„ ๋ฐ”๊พธ๋Š” ์„ค์ •์ด๋‹ค.

์—ฌ๊ธฐ์„œ project encoding์˜ ์„ค์ •์ด clion ํ™”๋ฉด ๋งจ ๋ฐ‘ ์˜ค๋ฅธ์ชฝ์— ๋œฌ๋‹ค.

 

์ฐธ๊ณ ๋กœ, ํŒŒ์ผ ์ž์ฒด์˜ ์ธ์ฝ”๋”ฉ์ด ๊นจ์ ธ์žˆ์œผ๋ฉด ๋‹น์—ฐํžˆ ์ถœ๋ ฅ๋„ ๊นจ์ ธ์„œ ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿด ๋• file encoding ์ฐฝ์—์„œ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ธ์ฝ”๋”ฉ์ด ์ด์ƒํ•œ ๊ฒƒ ๊ฐ™์€ ํŒŒ์ผ๋“ค์„ ์„ ํƒํ•˜๊ณ  x-windows-949๋กœ ์ธ์ฝ”๋”ฉ์„ ๋ฐ”๊ฟ”์ค€ ๋‹ค์Œ ์ ์šฉ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์‹คํ–‰ํ•ด๋ณด๋ฉด ๋œ๋‹ค.

2. CMakeLists.txt ์„ค์ • ์ถ”๊ฐ€

CMake ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์ธ CMakeLists.txt ํŒŒ์ผ์— ์ธ์ฝ”๋”ฉ ์„ค์ • ์ถ”๊ฐ€

set(CMAKE_C_FLAGS "-fexec-charset=CP949")

cc1plus.exe: error: no iconv implementation
์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋– ์„œ reload change๊ฐ€ ์ ์šฉ์ด ์•ˆ๋  ๋•Œ๋„ ์žˆ์—ˆ๋Š”๋ฐ ๊ป๋‹ค ์ผฐ์—ˆ๋‚˜ ์‹œ๊ฐ„ ์ง€๋‚˜๋‹ˆ ๋๋‹ค.

3. console ์ธ์ฝ”๋”ฉ ์„ค์ •

Settings > Editor > General > Console

4. (ํšจ๋ ฅ ๋ถˆ๋ถ„๋ช…)

vmoptions์— ์ธ์ฝ”๋”ฉ ์„ค์ • ์ถ”๊ฐ€

์ด ๋ฐฉ๋ฒ•์€ c++์„ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์œ„ํ•ด์„œ๋Š” ํšจ๋ ฅ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ (์ž˜ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ) ์ผ๋‹จ ์ธ์ฝ”๋”ฉ ๊ด€๋ จ ๋ธ”๋กœ๊ทธ์— ์žˆ๊ธธ๋ž˜ ์ฐพ์•„์„œ ํ•ด๋ดค๋‹ค...

window์—์„œ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด

C:\Program Files\JetBrains\CLion 2021.3.2\bin 

๋ณดํ†ต์€ ์ด์™€ ๊ฐ™์€ ๊ฒฝ๋กœ์—์„œ vmoptions์œผ๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ์„ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

-Dfile.encoding=UTF-8

๋ฅผ ๋งˆ์ง€๋ง‰ ์ค„์— ์ถ”๊ฐ€ํ•ด๋ณด์ž~

5. (๋‚ด์žฅ ์ฝ˜์†” ํ™•์ธ)

๋‚ด์žฅ ์ฝ˜์†”์˜ ๋ฌธ์ œ์ธ๊ฐ€ ํ™•์ธํ•ด๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค.

run/debug configuration์— run in external console ์ด๋ผ๋Š” ์˜ต์…˜์ด ์žˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋๊ณ  ๋‚ด์žฅ ์ฝ˜์†” ์ž์ฒด์˜ ๋ฌธ์ œ๋Š” ์•„๋‹˜์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

6. ํŒŒ์ผ ๊ฒฝ๋กœ

ํŒŒ์ผ ๊ฒฝ๋กœ์— ํ•œ๊ธ€์ด ์žˆ์œผ๋ฉด ์ธ์ฝ”๋”ฉ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚จ๋‹ค๊ณ ๋„ ๋ด์„œ

๋‚˜๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ์— ํ•œ๊ธ€๋กœ ๋œ ๋ถ€๋ถ„์€ ์—†์—ˆ์ง€๋งŒ ๊ธฐ์กด์— D: ๋“œ๋ผ์ด๋ธŒ์—์„œ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ C: ๋“œ๋ผ์ด๋ธŒ์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด ๋Œ๋ ค๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๊ฐ™์•˜๋‹ค.

7. ํŒŒ์ผ๋กœ ํ•œ๊ธ€์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฒŒ ๋œ ๋ฐฉ๋ฒ• ๐ŸŽˆ

๋” ๊ตฌ๊ธ€๋งํ•ด๋ณธ ๊ฒฐ๊ณผ minGW๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•œ gcc ํ™˜๊ฒฝ์—์„œ ํ•œ๊ธ€์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ž„์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ, ์ฝ˜์†”์ฐฝ์—์„œ ํ•œ๊ธ€์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด์—ˆ์œผ๋ฏ€๋กœ ์ฝ˜์†”์—์„œ ์ž…๋ ฅํ•˜์ง€ ๋ง๊ณ  ํŒŒ์ผ๋กœ ์ž…์ถœ๋ ฅ์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹œ๋„ํ•ด๋ณด์•˜๋‹ค.

cpp ํŒŒ์ผ๊ณผ ๊ฐ™์€ ํด๋”์— input.txt ํŒŒ์ผ์„ ์œ„์™€ ๊ฐ™์ด ์ƒ์„ฑํ•ด ์จ๋‘์—ˆ๊ณ  ๋Œ๋ ค๋ณด๋‹ˆ ๋“œ๋””์–ด ๊ฐ™์€ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ํŒ๋‹จํ•ด์ฃผ์—ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•  ๋•Œ ๋งค๋ฒˆ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํŒŒ์ผ ์ž…๋ ฅ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ํŽธํ•˜๋ฏ€๋กœ ์ด ๋ฐฉ๋ฒ•์„ ์“ฐ๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•œ ๋‚ ์ธ๋ฐ ์ธ์ฝ”๋”ฉ ๋ฌธ์ œ๋กœ ํ•˜๋ฃจ๋ฅผ ๋‹ค ์จ๋ฒ„๋ ค์„œ ์Šฌํ”„๋‹ค ใ… _ใ… 

์ •์‹์ ์œผ๋กœ ํ•ด๊ฒฐํ•œ ๋Š๋‚Œ์€ ์•„๋‹ˆ๋ผ ์•„์‰ฝ์ง€๋งŒ ์šฐํšŒ๋œ ๋ฐฉ๋ฒ•์ด๋ผ๋„ ์ฐพ์•„์„œ CLion์œผ๋กœ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋‹จ ์‚ฌ์‹ค์— ๋งค์šฐ ๋ฟŒ๋“ฏํ•˜๋‹ค !