{"id":34066,"date":"2020-05-15T12:24:50","date_gmt":"2020-05-15T03:24:50","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kr\/?p=793"},"modified":"2020-07-01T13:16:06","modified_gmt":"2020-07-01T13:16:06","slug":"clion-2020-1-cuda-clang-embedded-ko","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/ko\/2020\/05\/15\/clion-2020-1-cuda-clang-embedded-ko\/","title":{"rendered":"CLion 2020.1: IDE \uc804\ubc18\uc758 \ub2e4\uc591\ud55c \uac1c\uc120 \uc0ac\ud56d \ubc0f CUDA\uc640 \uc784\ubca0\ub514\ub4dc \ud504\ub85c\uc81d\ud2b8 \uc0ac\uc6a9 \ud61c\ud0dd"},"content":{"rendered":"\uc6b0\uc120 \ubaa8\ub450 \uc548\uc804\ud558\uac8c \uc9c0\ub0b4\uc2dc\uae38 \ubc14\ub780\ub2e4\ub294 \uc778\uc0ac\ub97c \uc804\ud569\ub2c8\ub2e4! \uc0ac\uc2e4 \uc694\uc998\ucc98\ub7fc \uc911\uc694\ud55c \uc18c\uc2dd\uc774 \ub9ce\uc740 \uc2dc\uae30\uc5d0 \uc5c5\ubb34\uc5d0 \uc9d1\uc911\ud558\uae30 \uc27d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7fc\uc5d0\ub3c4 \uc800\ud76c \ud300\uc740 \ucd5c\uc120\uc744 \ub2e4\ud574 \uac00\uc7a5 \uc790\uc2e0 \uc788\ub294 \uc77c\uc744 \ud574 \uc654\uc2b5\ub2c8\ub2e4. \ubc14\ub85c \uac1c\ubc1c\uc790\uc758 \uc0dd\uc0b0\uc131\uc744 \ub192\uc774\ub294 \ud6cc\ub96d\ud55c \ub3c4\uad6c\ub97c \uc81c\uc791\ud558\ub294 \uc77c\uc774\uc8e0. \uadf8\ub9ac\ud558\uc5ec \uc0c8\ub85c\uc6b4 CLion 2020.1 \ub9b4\ub9ac\uc2a4\ub97c \uc18c\uac1c\ud569\ub2c8\ub2e4!\r\n\r\n\uc0c8 \ubc84\uc804\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub97c \ud558\ub824\uba74 Toolbox App, Ubuntu\uc758 \uc2a4\ub0c5 \ud328\ud0a4\uc9c0, \uc6f9\uc0ac\uc774\ud2b8 \ub610\ub294 2019.3(2019.3.5) \ucd5c\uc2e0 \ube4c\ub4dc\uc758 \ud328\uce58 \uc5c5\ub370\uc774\ud2b8\ub97c \uc0ac\uc6a9\ud558\uba74 \ub429\ub2c8\ub2e4. \r\nCLion 2020.1 \ub2e4\uc6b4\ub85c\ub4dc\r\n\uc544\ub798 \ub0b4\uc6a9\uc5d0\uc11c \uc8fc\uc694 \uac1c\uc120 \uc0ac\ud56d\uc744 \uac04\ub7b5\ud788 \uc0b4\ud3b4\ubcf4\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\uc815 \uc138\ubd80 \uc815\ubcf4\uc5d0 \uad00\uc2ec\uc774 \uc788\uc73c\uc2dc\uba74 \ub2e4\uc74c\uc744 \uc77d\uc5b4\uc8fc\uc138\uc694.\r\n\r\nCUDA \ud504\ub85c\uc81d\ud2b8\r\n\uc784\ubca0\ub514\ub4dc \uac1c\ubc1c\r\nWindows \ud504\ub85c\uc81d\ud2b8\r\nClang \uae30\ubc18 \ub3c4\uad6c \uc5c5\ub370\uc774\ud2b8\r\n\ub9ac\ud329\ud1a0\ub9c1, \uc11c\uc2dd \uc9c0\uc815 \ub3c4\uad6c, \ubb38\uc11c \ubc0f \uc5d0\ub514\ud130 \uac1c\uc120 \uc0ac\ud56d\r\n\uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131\r\nIntelliJ \ud50c\ub7ab\ud3fc \uc5c5\ub370\uc774\ud2b8\r\nMakefile \uc9c0\uc6d0 \uc9c4\ud589 \uc0c1\ud669?\r\n\r\n\r\nCUDA \ud504\ub85c\uc81d\ud2b8\r\n\ubcf8\uc9c8\uc801\uc73c\ub85c CUDA C \ubc0f C++\ub294 \uba87 \uac00\uc9c0 \ud655\uc7a5\ud504\ub85c\uadf8\ub7a8\uc744 \ub354\ud55c C\/C++\uc785\ub2c8\ub2e4. \uc774\uc81c CLion 2020.1 \ubc84\uc804\uc5d0\uc11c CUDA \ucf54\ub4dc\ub97c \uc801\uc808\ud788 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc800\ud76c \ud300\uc740 CLion \uc5b8\uc5b4 \uc5d4\uc9c4\uc5d0\uc11c CUDA \ucf54\ub4dc\ub97c \uc62c\ubc14\ub974\uac8c \ubd84\uc11d\ud558\ub3c4\ub85d \ud559\uc2b5\uc2dc\ud0a4\ub294 \ub370 \ub9ce\uc740 \ub178\ub825\uc744 \ud22c\uc785\ud558\uc5ec \ucf54\ub4dc \ubd84\uc11d \uc2dc \uc801\uc0c9 \ucf54\ub4dc\uc640 \uae0d\uc815\uc624\ub958(\uc624\ud0d0)\ub97c \uc81c\uac70\ud558\uc600\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uc774\ubc88 \uac1c\uc120\uc5d0\ub294 CUDA \ucf54\ub4dc\uc5d0\uc11c\ub3c4 \uc791\ub3d9\ud558\ub294 \ucf54\ub4dc \ud0d0\uc0c9, \ucf54\ub4dc \ubb38\uc11c \ubc0f \uae30\ud0c0 \ucf54\ub529 \uc9c0\uc6d0\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc5d0 \ucee4\ub110 \ud638\ucd9c\uc758 \ub300\uad04\ud638 \uc644\uc131 \uae30\ub2a5\ub3c4 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n(\ud14c\uc2a4\ud2b8\uc5d0\uc11c\ub294 GitHub\uc758 ClaraGenomicsAnalysis \ud504\ub85c\uc81d\ud2b8\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4.)\r\n\uadf8\ubfd0 \uc544\ub2c8\ub77c CLion\uc740 CUDA \ud30c\uc77c \ud655\uc7a5\uc790\uc778 .cu\/.cuh\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc774\uc81c \uc2e0\uaddc C\/C++ \ud30c\uc77c \uc0dd\uc131 \uc2dc \ud574\ub2f9 \ud655\uc7a5\uc790\ub97c \uc120\ud0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c CLion\uc740 \uc0c8\ub86d\uac8c \uc0dd\uc131\ub41c \ud30c\uc77c\uc5d0 CMake \ub300\uc0c1\uc744 \ucd94\uac00\ud558\ub3c4\ub85d \uc81c\uc548\ud569\ub2c8\ub2e4. \uc774\uc81c \ub2e4\uc74c\uc758 \uc120\ud0dd \uac00\ub2a5\ud55c \uc635\uc158 \ubaa9\ub85d\uc5d0 CUDA \ub300\uc0c1(0>cuda_add_executable \/ cuda_add_library\uc73c\ub85c \uc0dd\uc131\ub41c \ub300\uc0c1) \uc774 \ucd94\uac00\ub429\ub2c8\ub2e4.\r\n\r\n\ub9c8\uc9c0\ub9c9\uc73c\ub85c, CLion\uc5d0\uc11c \uc2e0\uaddc CUDA \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud558\ub294 \uae30\ub2a5\uc774 \ucd94\uac00\ub418\uc5b4, \uc0c8 \ud504\ub85c\uc81d\ud2b8 \ub9c8\ubc95\uc0ac\ub97c \ud1b5\ud574 CMake \ubc0f main.cu \uc0d8\ud50c \ud30c\uc77c\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. CLion\uc5d0\uc11c CUDA \ud504\ub85c\uc81d\ud2b8\ub85c \uc791\uc5c5\ud558\ub294 \ubc29\ubc95\uc740 \uc628\ub77c\uc778 \ub3c4\uc6c0\ub9d0\uc744 \ucc38\uc870\ud558\uc138\uc694.\r\n\uc784\ubca0\ub514\ub4dc \uac1c\ubc1c\r\nCLion \uc784\ubca0\ub514\ub4dc \uac1c\ubc1c\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uac1c\uc120\ud574 \uc654\uc73c\uba70 \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c\ub3c4 \ub450 \uac00\uc9c0 \uc911\uc694 \uac1c\uc120 \uc0ac\ud56d\uc744 \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uccab \ubc88\uc9f8\ub294 IAR \ucef4\ud30c\uc77c\ub7ec \uc9c0\uc6d0\uc785\ub2c8\ub2e4. \uc774\uc81c CLion\uc5d0\uc11c \ucef4\ud30c\uc77c\ub7ec \uc815\ubcf4\ub97c \uc801\uc808\ud788 \uc218\uc9d1\ud558\ubbc0\ub85c \uc784\ubca0\ub514\ub4dc \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ucef4\ud30c\uc77c\ub7ec\ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. IAR \ucef4\ud30c\uc77c\ub7ec \uc0ac\uc6a9\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \uba87 \uac00\uc9c0 \ud301\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.\r\n\r\nMinGW \ud544\uc694 CLion\uc758 IAR \ud234\uccb4\uc778 \uc124\uc815\uc5d0\uc11c MinGW \ud658\uacbd\uc744 \uc0ac\uc6a9\ud558\uace0 \ud574\ub2f9 \ud544\ub4dc\uc758 IAR \ucef4\ud30c\uc77c\ub7ec\ub85c \uacbd\ub85c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \r\nIAR \uc784\ubca0\ub514\ub4dc \uc791\uc5c5 \ud658\uacbd\uc5d0\uc11c CMake\ub97c \ud65c\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \ub2e4\uc74c \ub178\ud2b8\uc5d0\uc11c \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\n\r\n\uc774 \uc790\ub9ac\ub97c \ube4c\uc5b4 IAR Systems AB\uc758 \uc9c0\uc6d0 \ubc0f \ud30c\ud2b8\ub108 \ub77c\uc774\uc120\uc2a4\uc5d0 \ub2e4\uc2dc \ud55c\ubc88 \uac10\uc0ac\ub97c \ud45c\ud569\ub2c8\ub2e4. \uc55e\uc73c\ub85c\ub3c4 \uc9c0\uc18d\uc801\uc778 \ud611\uc5c5\uc744 \uae30\ub300\ud574\uc8fc\uc138\uc694.  \ub2e4\uc74c \ubaa9\ud45c\ub294 \uc774 \ud234\uccb4\uc778\uacfc \ud1b5\ud569\uc744 \ucd94\uac00\ub85c \uc0b4\ud3b4\ubcf4\ub294 \uac83\uc785\ub2c8\ub2e4.\r\n\ub450 \ubc88\uc9f8 \uac1c\uc120 \uc0ac\ud56d\uc740 CLion \ud50c\ub7ec\uadf8\uc778 PlatformIO\uc785\ub2c8\ub2e4. PlatformIO\ub294 \ucc28\uc138\ub300 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc73c\ub85c Arduino\uc640 \uac19\uc740 \uc784\ubca0\ub514\ub4dc \uac1c\ubc1c \ud504\ub85c\uc81d\ud2b8\ub97c \ube60\ub974\uac8c \uc2dc\uc791\ud558\ub294 \ub370 \ub9e4\uc6b0 \uc720\uc6a9\ud569\ub2c8\ub2e4. \uc0c8 \ud504\ub85c\uc81d\ud2b8 \ub9c8\ubc95\uc0ac\ub85c \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8 \uc720\ud615\uc744 \uc120\ud0dd\ud558\uba74 \uc774 \ud50c\ub7ec\uadf8\uc778\uc774 PlatformIO CMake \uae30\ubc18\uc758 \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uc5ec \ubc30\uacbd\uc5d0\uc11c \uc801\uc808\ud55c PlatformIO \uba85\ub839\uc5b4\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\r\n\r\nCLion\uc740 \uc774\uc640 \uac19\uc740 \ud504\ub85c\uc81d\ud2b8 \uc791\uc5c5 \uc2dc \uc790\ub3d9\uc73c\ub85c \ub514\ubc84\uadf8 \ubc0f \uc5c5\ub85c\ub4dc\uc6a9 \uad6c\uc131\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \ub610\ud55c PIO \ud1b5\ud569 \ub514\ubc84\uac70 \uc0ac\uc6a9\uc744 \uc704\ud574 PlatformIO \ub514\ubc84\uadf8 \uad6c\uc131\uc744 \uc0dd\uc131\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uacf5\uc2dd \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.\r\nWindows \ud504\ub85c\uc81d\ud2b8\r\nWindows\uc5d0\uc11c CLion\uc744 \uc0ac\uc6a9\ud558\ub294 \uac1c\ubc1c\uc790\uac00 \uc810\uc810 \ub298\uc5b4\ub098\ub294 \ucd94\uc138\uc785\ub2c8\ub2e4. \uc0ac\uc2e4 \ud1b5\uacc4\ub97c \uc0b4\ud3b4\ubcf4\uba74 Windows\ub294 JetBrains \uc0ac\uc6a9\uc790\uac00 \uc8fc\ub85c \uc0ac\uc6a9\ud558\ub294 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. \uadf8\ub807\uae30\uc5d0 Windows \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c \uac00\uc7a5 \ub9ce\uc740 \uc694\uccad\uc774 \uc788\ub294 \uae30\ub2a5\uc5d0 \uc9d1\uc911\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.\r\nClang\uc740 GCC \ub2e4\uc74c\uc73c\ub85c \uc778\uae30 \uc788\ub294 \ucef4\ud30c\uc77c\ub7ec\uc785\ub2c8\ub2e4(\ucd9c\ucc98: 2019\ub144\ub3c4 \uac1c\ubc1c\uc790 \uc5d0\ucf54\uc2dc\uc2a4\ud15c \ud604\ud669 \uc5f0\uad6c) \ubb3c\ub860 Windows\uc758 \uc120\ub450 \uc8fc\uc790\ub294 Microsoft Visual Studio \ucef4\ud30c\uc77c\ub7ec\uc9c0\ub9cc Clang-cl \uc5ed\uc2dc \ud3ed\ub113\uac8c \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. LLVM \uc6f9\uc0ac\uc774\ud2b8\uc5d0\uc11c \uc124\uce58\ud558\uac70\ub098 Visual Studio \ub3c4\uad6c\uc640 \ud568\uaed8 \uc124\uce58 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\uc81c CLion\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!\r\n\r\nWindows \uac1c\ubc1c\uc790\ub97c \uc704\ud55c \ub2e4\ub978 \ud76c\uc18c\uc2dd\uc740 \ubc14\ub85c Visual Studio C++ \ud234\uccb4\uc778\uc73c\ub85c JetBrains\uc5d0\uc11c \uac1c\ubc1c\ud55c LLDB \uae30\ubc18 \ub514\ubc84\uac70\uac00 \uc774\uc81c \ud574\ub2f9 \ud234\uccb4\uc778\uc758 \uae30\ubcf8 \ub514\ubc84\uac70\ub85c \uc9c0\uc6d0\ub41c\ub2e4\ub294 \uc810\uc785\ub2c8\ub2e4. \ubcc4\ub3c4 \uc124\uc815 \uc5c6\uc774 \ubc14\ub85c \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4! \uc0c1\ub2e8 \uc2a4\ud06c\ub9b0\uc0f7\uc5d0\uc11c Visual Studio \ud234\uccb4\uc778\uc73c\ub85c \ubbf8\ub9ac \uc120\ud0dd\ub41c \uc635\uc158\uc744 \ud655\uc778\ud558\uc138\uc694. \ub2e8, \ud574\ub2f9 \ub514\ubc84\uac70\ub294 \uc77c\ubc18 LLDB \ube4c\ub4dc\uac00 \uc544\ub2c8\uba70, JetBrains \ud300\uc5d0\uc11c \uac1c\ubc1c\ud558\uc5ec Native Visualizer\ub97c \ucc98\ub9ac\ud560 \uc218 \uc788\ub294 \ub514\ubc84\uac70\uc785\ub2c8\ub2e4(Native Visualizer \uc9c0\uc6d0\uc744 \ud65c\uc131\ud654\ud558\ub824\uba74 Settings(\uc124\uc815) | Build, Execution, Deployment(\ube4c\ub4dc, \uc2e4\ud589 \ubc30\ud3ec) | Debugger Data Views(\ub514\ubc84\uac70 \ub370\uc774\ud130 \ubdf0) | Enable NatVis renderers for LLDB(LLDB\uc6a9 NatVis \ub80c\ub354\ub7ec \ud65c\uc131\ud654)\ub85c \uc774\ub3d9\ud558\uc138\uc694.\r\n\ub2e4\uc74c\uc758 \uc9e4\ub9c9\ud55c \ub370\ubaa8\ub3c4 \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\nClang \uae30\ubc18 \ub3c4\uad6c \uc5c5\ub370\uc774\ud2b8\r\n\ub610 \ub2e4\ub978 \uc911\uc694 \uac1c\uc120 \uc0ac\ud56d\uc740 \uc800\ud76c \ud300\uc774 \uac00\ub2a5\ud55c \ubc94\uc704 \ub0b4\uc5d0\uc11c Clangd \uae30\ubc18 \uc5b8\uc5b4 \uc5d4\uc9c4\uc73c\ub85c \uc774\uc804\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uadf8 \uc774\uc720\ub294 \ub450 \uac00\uc9c0\uc778\ub370\uc694, \uccab \ubc88\uc9f8 \uc774\uc720\ub294 \ubcf4\ub2e4 \uc815\ud655\ud55c \uc5b8\uc5b4 \uae30\ub2a5\uc744 \uac1c\ubc1c\ud558\uc5ec \uc5b8\uc5b4 \ud45c\uc900\uc758 \ucd5c\uadfc \uc5c5\ub370\uc774\ud2b8\ub97c \ube60\ub974\uac8c \ub530\ub77c\uc7a1\uae30 \uc704\ud568\uc785\ub2c8\ub2e4. \ub450 \ubc88\uc9f8\ub85c, \uc5b8\uc5b4 \uc81c\uc57d\uc774 \uc5c6\ub294 \uc561\uc158\uc758 \uae30\ub2a5\uc744 \ud5a5\uc0c1\ud558\uace0\uc790 \ud569\ub2c8\ub2e4(Clang\uc5d0\uc11c \ud56d\uc0c1 \uac00\ub2a5\ud55c \uac83\uc740 \uc544\ub2c8\uc9c0\ub9cc \ub354\uc6b1 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uc2dc\ud5d8\ud560 \uc608\uc815\uc785\ub2c8\ub2e4). \r\nCLion 2020.1 \ubc84\uc804\uc5d0\uc11c\ub294 \ub370\uc774\ud130 \ud750\ub984 \ubd84\uc11d(DFA) \uae30\ub2a5\uc774 Clangd\ub85c \uc644\uc804\ud788 \uc774\uc804\ub418\uc5c8\uc2b5\ub2c8\ub2e4. DFA\ub294 \ubb34\uc5c7\uc774\uba70 \uc65c \uc720\uc6a9\ud560\uae4c\uc694? DFA \uac80\uc0ac\ub294 \ucf54\ub4dc \ub0b4 \ub370\uc774\ud130 \ud750\ub984\uc744 \ubd84\uc11c\ud55c \ud6c4 \ubd84\uc11d \uacb0\uacfc\ub97c \uae30\ubc18\uc73c\ub85c \uc7a0\uc7ac\uc801 \ubb38\uc81c\ub97c \ud0d0\uc9c0\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 DFA\ub294 \ud56d\uc0c1 false\/true\uc778 \uc870\uac74\ubb38, \ubb34\ud55c \ub8e8\ud504, \ub204\ub77d\ub41c \ubc18\ud658\ubb38, \ubb34\ud55c \uc7ac\uadc0 \ub4f1\uc744 \ud30c\uc545\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc774\ub7ec\ud55c \uae30\ub2a5\uc740 \ub300\ub2e4\uc218\uc758 \ucef4\ud30c\uc77c\ub7ec\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uae30\ub2a5\uc785\ub2c8\ub2e4. \ubb3c\ub860 DFA \uc791\uc5c5\uc740 \ub9e4\uc6b0 \uc815\ud655\ud55c \ucf54\ub4dc \uad6c\ubb38 \ubd84\uc11d \ubc0f \ubb38\uc81c \ud574\uacb0\uc774 \uc694\uad6c\ub418\uba70 \uc774\ub294 \uc0c1\ub2f9\ud55c \uc2dc\uac04\uc774 \uc18c\uc694\ub418\ub294 \uc791\uc5c5\uc785\ub2c8\ub2e4. \ud2b9\ud788 \uae30\ubcf8 \ubb38\uc81c \ud574\uacb0 \uc791\uc5c5\uc758 \uc18d\ub3c4\uac00 \ub290\ub9b4 \ub54c \ub354 \ub9ce\uc740 \uc2dc\uac04\uc774 \uc18c\uc694\ub420 \ud14c\uace0\uc694. \uadf8\ub807\uae30\uc5d0 Clangd\uc73c\ub85c\uc758 \uc774\uc804\uc740 \ubd84\uc11d \uac80\uc0ac \uae30\ub2a5\uc744 \uac1c\uc120\ud558\ub294 \uacfc\uc815\uc774\ub77c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uc774\uc804 CLion \ubc84\uc804\uc5d0\uc11c Clangd \uae30\ubc18 \ucf54\ub4dc \uc644\uc131 \uc81c\uacf5\uc790\uac00 \ub3c4\uc785\ub418\uc5c8\uc9c0\ub9cc \ub2f9\uc2dc\uc5d0\ub294 CLion \uc790\uccb4 \uc81c\uacf5\uc790\uc640 \uacb0\ud569\uc744 \ud1b5\ud574\uc11c\ub9cc \uc791\ub3d9\ud558\uc600\uc2b5\ub2c8\ub2e4. 2020.1 \ubc84\uc804\uc744 \uac1c\ubc1c\ud558\ub294 \ub3d9\uc548 \uc218\uc2ed\uac1c\uc758 \uad00\ub828 \ubb38\uc81c\ub97c \uc218\uc815\ud558\uace0 \ub204\ub77d\ub41c \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uc5ec Clang\uc5d0 \uc758\ud574 \uc81c\uacf5\ub418\ub294 \ucf54\ub4dc \uc644\uc131\uc744 \uac1c\uc120\ud588\uc2b5\ub2c8\ub2e4. \uadf8 \uacb0\uacfc, \uae30\ubcf8\uc801\uc73c\ub85c CLion \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc758 \ub2e8\ub3c5 \uacf5\uae09\uc790\ub85c Clang\uc744 \uc0ac\uc6a9\ud558\ub294 \ubaa8\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.  \uc774\ub85c \uc778\ud574 \uc6b0\uc120 \uc21c\uc704 \uc9c0\uc815 \ubc0f \uc815\ub82c\uacfc \uad00\ub828\ub41c \uc77c\ubd80 \ubb38\uc81c\uac00 \ud574\uacb0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\uc5ec\ub7ec C++ \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c ClangFormat \ubc0f Clang-Tidy\ub294 \ud45c\uc900 \ub3c4\uad6c\ub85c \uc0ac\uc6a9\ub418\uba70 \uadf8 \uad6c\uc131 \ud30c\uc77c\uc740 \ud504\ub85c\uc81d\ud2b8 \uc800\uc7a5\uc18c\uc5d0 \ucee4\ubc0b\ub418\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc CLion\uc5d0\uc11c \uc774\ub7ec\ud55c \ub3c4\uad6c\ub4e4\uc758 \ud1b5\ud569\uc774 \ub3c4\uad6c \uc790\ub3d9 \uc804\ud658\uc744 \uc9c0\uc6d0\ud558\uc9c0\ub294 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \ubd88\ud3b8 \uc0ac\ud56d\uc744 \uc9c0\uc801\ud574\uc8fc\uc2e0 \uc0ac\uc6a9\uc790 \uc5ec\ub7ec\ubd84\uaed8 \uc9c4\uc2ec\uc73c\ub85c \uac10\uc0ac\uc758 \ub9d0\uc500\uc744 \uc804\ud569\ub2c8\ub2e4! \uc774\uc81c CLion\uc5d0\uc11c\ub294 \ub2e4\uc74c \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\r\n\ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8\uc5d0\uc11c .clang-format \uad6c\uc131 \ud30c\uc77c\uc744 \ud0d0\uc9c0\ud558\uace0 ClangFormat\uc73c\ub85c \uc790\ub3d9 \uc804\ud658(\ud604\uc7ac\ub85c\uc11c\ub294 \ud504\ub85c\uc81d\ud2b8 \uc124\uc815\ubcc4 IDE \uc804\ud658\ub9cc\uc774 \uc9c0\uc6d0\ub429\ub2c8\ub2e4).\r\n.clang-tidy \uad6c\uc131 \ud30c\uc77c\uc744 \ud0d0\uc9c0\ud558\uace0 \uc774 \uad6c\uc131\ud30c\uc77c\uc744 \uc704\ud574 IDE \uc124\uc815\uc758 Clang-Tidy \uc0ac\uc6a9\uc744 \uc790\ub3d9\uc73c\ub85c \ud574\uc81c\r\n\r\n\uc774 \uae30\ub2a5\uc758 \ub3c4\uc785\uc73c\ub85c \ub450 \uac00\uc9c0 Clang \ub3c4\uad6c\ub97c \ud6e8\uc52c \ud3b8\ub9ac\ud558\uac8c \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc788\uae38 \ubc14\ub78d\ub2c8\ub2e4!\r\n\ub2e4\uc74c\uc758 \uc9e4\ub9c9\ud55c \ub370\ubaa8\ub3c4 \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\n\ub9ac\ud329\ud1a0\ub9c1, \uc11c\uc2dd \uc9c0\uc815 \ub3c4\uad6c, \ubb38\uc11c \ubc0f \uc5d0\ub514\ud130 \uac1c\uc120 \uc0ac\ud56d\r\nCLion\uc740 \uc720\uc6a9\ud55c \ub9ac\ud329\ud1a0\ub9c1\uc744 \ub2e4\uc591\ud558\uac8c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uadf8\uc911 Change Signature(\uc2dc\uadf8\ub2c8\ucc98 \ubcc0\uacbd)(Windows \ubc0f Linux: Ctrl+F6, macOS: \u2318F6)\ub294 \uac00\uc7a5 \uc778\uae30 \uc788\ub294 \ub9ac\ud329\ud1a0\ub9c1 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \uc774 \ub9ac\ud329\ud1a0\ub9c1\uc740 \ud568\uc218 \uc774\ub984 \ubc0f \ubc18\ud658 \uc720\ud615 \ubcc0\uacbd\uacfc \ub9e4\uac1c\ubcc0\uc218 \ucd94\uac00, \uc81c\uac70 \ubc0f \uc7ac\ubc30\uc5f4 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ud568\uc218 \uc218\ub3d9 \uc5c5\ub370\uc774\ud2b8\uc5d0 \ube44\ud574 \uc774 \ub9ac\ud329\ud1a0\ub9c1\uc740 \ud568\uc218 \uc2dc\uadf8\ub2c8\ucc98 \ubcc0\uacbd \uc2dc \uc9c4\uac00\ub97c \ubc1c\ud718\ud569\ub2c8\ub2e4. CLion\uc5d0\uc11c \ud574\ub2f9 \ud568\uc218\uc758 \uc0ac\uc6a9 \uc704\uce58\ub97c \ubaa8\ub450 \uac80\uc0c9\ud558\uace0 \ubaa8\ub4e0 \ud638\ucd9c, \uad6c\ud604, \uc7ac\uc815\uc758 \uae30\ub85d\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uc5ec \ubcc0\uacbd \uc0ac\ud56d\uc774 \ubc18\uc601\ub418\ub3c4\ub85d \uc548\uc804\ud558\uac8c \uc2dc\uadf8\ub2c8\ucc98\ub97c \ubcc0\uacbd\ud569\ub2c8\ub2e4.\r\n\uc0c8 \ub9e4\uac1c\ubcc0\uc218\uac00 \ucd94\uac00\ub420 \ub54c \ud568\uc218 \uc0ac\uc6a9 \uc704\uce58\ub294 \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ub418\ub294\uc9c0 \uad81\uae08\ud558\uc2e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uae30\uc874 CLion \ubc84\uc804\uc5d0\uc11c\ub294 \ucf54\ub4dc\ub97c \ucef4\ud30c\uc77c \uac00\ub2a5\ud55c \uc0c1\ud0dc\ub85c \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uae30\ubcf8 \uc720\ud615 \uac12\uc744 \ud574\ub2f9 \uc0ac\uc6a9 \uc704\uce58\uc5d0 \uc778\uc218(\uc22b\uc790\uc5d0\ub294 0, \ud3ec\uc778\ud130\uc5d0\ub294 nullptr)\ub85c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4.  \ud55c\ud3b8 CLion 2020.1 \ubc84\uc804\uc758 \uacbd\uc6b0 \ub9ac\ud329\ud1a0\ub9c1 \ub300\ud654\uc0c1\uc790\uc5d0\uc11c \uc5c5\ub370\uc774\ud2b8\ub41c \ubaa8\ub4e0 \ud568\uc218 \uc0ac\uc6a9 \uc704\uce58\uc758 \uac12 \uc911 \ub300\uccb4\ud560 \uac12\uc744 \uc9c1\uc811 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\ub610\ud55c, \ub300\ud654\uc0c1\uc790\uc758 \uc0c8\ub85c\uc6b4 \uae30\ubcf8 \uac12 \ud544\ub4dc\uc5d0\uc11c \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\ub3c4 \uc9c0\uc6d0\ub429\ub2c8\ub2e4! \ud574\ub2f9 \ud544\ub4dc\ub97c \uacf5\ubc31\uc73c\ub85c \ub450\uba74 \uae30\uc874 \ub3d9\uc791\uc774 \uc801\uc6a9\ub418\uba70 \ud574\ub2f9 \uc720\ud615\uc758 \uae30\ubcf8 \uac12\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\r\n\uc774\ubc88 \ub9b4\ub9ac\uc2a4\ub294 \uc5c5\ub370\uc774\ud2b8\ub41c \uc11c\uc2dd \uc9c0\uc815 \ub3c4\uad6c\ub97c \uc120\ubcf4\uc785\ub2c8\ub2e4. \uc774\uc81c \uad6c\uc870\uccb4 \uba64\ubc84 \ud544\ub4dc \ubc0f \ud074\ub798\uc2a4 \uba64\ubc84 \ud544\ub4dc\uc758 \uc774\ub984 \uc9c0\uc815\uc744 \ubcc4\ub3c4\ub85c \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ubfd0 \uc544\ub2c8\ub77c \ucf54\ub4dc \uc811\uae30\uac00 #pragma region \ubc0f #pragma endregion\uc5d0\uc11c \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\uc5d0\ub514\ud130 \uc5c5\ub370\uc774\ud2b8 \uc0ac\ud56d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\r\n\r\n\ubb38\uc11c \ubbf8\ub9ac\ubcf4\uae30 \ubc0f \ud568\uc218 \uc2dc\uadf8\ub2c8\ucc98, \ucd94\ub860 \uc720\ud615, \ub9e4\ud06c\ub85c \uce58\ud658 \uad00\ub828 \uc815\ubcf4\uac00 \ud45c\uc2dc\ub418\ub294 \ud3ec\uad04\uc801 \ubb38\uc11c \ubbf8\ub9ac\ubcf4\uae30 \ub3c4\uad6c\uc778 \ube60\ub978 \ubb38\uc11c \ubcf4\uae30 \uae30\ub2a5\uc774 \uc774\uc81c \ub9c8\uc6b0\uc2a4\ub85c \uac00\ub9ac\ud0a4\ub294 \uac83\ub9cc\uc73c\ub85c \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\uc5d0\ub514\ud130 \uae30\ubcf8 \uae00\uaf34\ub85c JetBrains\uc5d0\uc11c \uac1c\ubc1c\ud55c \uc0c8\ub85c\uc6b4 \uc624\ud508 \uc18c\uc2a4 \uae00\uaf34\uc778 JetBrains Mono\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4.\r\n\uc0c8\ub85c\uc6b4 \uae30\ubcf8 light \ud14c\ub9c8\uc778 IntelliJ Light\ub97c \uc0b4\ud3b4\ubcf4\uc138\uc694. \uc774\uc81c \ubaa8\ub4e0 \uc6b4\uc601 \uccb4\uc81c\uc5d0\uc11c \ud45c\uc900 \ud14c\ub9c8\ub85c \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\ud55c \ubc88\uc5d0 \uc5ec\ub7ec \uac1c\uc758 \ud130\ubbf8\ub110 \uc138\uc158\uc744 \uc0ac\uc6a9\ud574\uc57c \ud560 \uacbd\uc6b0 \ud130\ubbf8\ub110\uc744 \uc218\uc9c1 \ud639\uc740 \uc218\ud3c9\uc73c\ub85c \ubd84\ud560\ud558\uc5ec \ub2e4\uc218\uc758 \uc138\uc158\uc744 \ub098\ub780\ud788 \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\r\n\ub2e4\uc74c\uc758 \uc9e4\ub9c9\ud55c \ub370\ubaa8\ub3c4 \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\n\uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131\r\n\uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131\uc740 CLion\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc2e4\ud589 \ubc0f \ub514\ubc84\uadf8\ub97c \ud1b5\ud574 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc2dc\uc791\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0 \uba87 \uac00\uc9c0 \uc8fc\uc694 \uc5c5\ub370\uc774\ud2b8\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n\uc6d0\uaca9 GDB \uc11c\ubc84 \ubc0f \uc784\ubca0\ub514\ub4dc GDB \uc11c\ubc84 \uad6c\uc131\uc774 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub300\uc0c1\uc5d0\uc11c\ub3c4 \uc791\ub3d9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ub85c\uceec \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 CLion \uc778\uc2a4\ud134\uc2a4\uc758 \uc6d0\uaca9 \ud638\uc2a4\ud2b8 \ub610\ub294 \ub9c8\uc774\ud06c\ub85c \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub514\ubc84\uadf8\ud560 \uc218 \uc788\uc73c\uba70, \uc774\ub294 CMake \uae30\ubc18 \ud504\ub85c\uc81d\ud2b8\ubfd0 \uc544\ub2c8\ub77c \ubaa8\ub4e0 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uc560\ud50c\ub9ac\ucf00\uc774\uc158(\ucef4\ud30c\uc77c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud3ec\ud568)\uc5d0\uc11c\ub3c4 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\uc774\uc81c CLion\uc5d0\uc11c  Google Test \ub300\uc0c1 1.8.1 \ubc84\uc804 \ubc0f \uc0c1\uc704 \ubc84\uc804\uc744 \uc801\uc808\ud788 \uc778\uc2dd\ud558\uba70 \uc790\ub3d9\uc73c\ub85c \uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4(\uc989, CLion\uc5d0 \ub0b4\uc7a5\ub41c \ud14c\uc2a4\ud2b8 \ub7ec\ub108\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4).\r\n\r\nCLion 2020.1 \ubc84\uc804\uc758 \uacbd\uc6b0 \uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131\uc5d0 \ub9e4\ud06c\ub85c \ubc0f \uacbd\ub85c \ubcc0\uc218\uac00 \ucd94\uac00\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\r\n\r\n\ub9e4\ud06c\ub85c\ub294 \uc0ac\uc804 \uc815\uc758\ub418\uc5c8\uc73c\uba70, \uc2e4\ud589\/\ub514\ubc84\uadf8 \uad6c\uc131 \ub300\ud654\uc0c1\uc790\uc758 + \uae30\ud638\ub97c \ud074\ub9ad\ud558\uba74 \uc5f4\ub9ac\ub294 \ub300\ud654\uc0c1\uc790\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ub9e4\ud06c\ub85c \ubaa9\ub85d\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e8, \ub9e4\ud06c\ub85c\ub294 \ud604\uc7ac CMake, \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ube4c\ub4dc \ubc0f Gradle Native \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4.\r\n\uacbd\ub85c \ubcc0\uc218\ub294 Settings\/Preferences(\uc124\uc815\/\ud658\uacbd \uc124\uc815) | Appearance & Behavior(\ubaa8\uc591 \ubc0f \ub3d9\uc791) | Path Variables(\uacbd\ub85c \ubcc0\uc218)\uc5d0\uc11c \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 \uc0ac\uc6a9 \uc0ac\ub840\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uad11\ubc94\uc704\ud558\uac8c \uc0ac\uc6a9\ub418\uc9c0\ub9cc \ud504\ub85c\uc81d\ud2b8 \ub514\ub809\ud1a0\ub9ac \uc678\ubd80\uc5d0 \uc704\uce58\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac \uacbd\ub85c \ubcc0\uc218\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.\r\n\r\nPrompt\/FilePrompt \ub9e4\ud06c\ub85c\ub294 \uad6c\uc131\uc5d0 \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c Redirect input from(\ub2e4\uc74c\uc5d0\uc11c \uc785\ub825 \ub9ac\ub514\ub809\uc158) \ud544\ub4dc\uc640 \uacb0\ud569\ud558\uc5ec \uc0ac\uc6a9\ud558\uba74 \ub354\uc6b1 \uc720\uc6a9\ud569\ub2c8\ub2e4. \ud574\ub2f9 \ud544\ub4dc\ub97c \ud1b5\ud574 \uc785\ub825 \ud56d\ubaa9\uc744 \ud30c\uc77c\uc5d0\uc11c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 stdin\uc73c\ub85c \ub9ac\ub514\ub809\uc158\ud560 \uc218 \uc788\uc73c\uba70 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc2dc\uc791\ud560 \ub54c\ub9c8\ub2e4 FilePrompt \ub9e4\ud06c\ub85c\uac00 \ud30c\uc77c \uc120\ud0dd \ub300\ud654\uc0c1\uc790\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\r\n\r\n\ub2e4\uc74c\uc758 \uc9e4\ub9c9\ud55c \ub370\ubaa8\ub3c4 \ud655\uc778\ud574 \ubcf4\uc138\uc694.\r\n\r\nIntelliJ \ud50c\ub7ab\ud3fc \uc5c5\ub370\uc774\ud2b8\r\n\uc5b8\uc81c\ub098\ucc98\ub7fc VCS \ubc0f \uae30\ud0c0 IntelliJ \ud50c\ub7ab\ud3fc \uac1c\uc120 \uc0ac\ud56d \ubc0f IntelliJ Rust \ud50c\ub7ec\uadf8\uc778 \uc5c5\ub370\uc774\ud2b8\ub3c4 CLion\uc758 \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0 \ud3ec\ud568\ub418\uc5b4\uc788\uc2b5\ub2c8\ub2e4. IntelliJ Rust \ud50c\ub7ec\uadf8\uc778\uc5d0 \ub300\ud55c \ube14\ub85c\uadf8 \ud3ec\uc2a4\ud2b8\ub3c4 \uac8c\uc2dc\ub420 \uc608\uc815\uc774\ub2c8 \uc0c8\ub85c\uc6b4 \uc18c\uc2dd\uc744 \uae30\ub2e4\ub824 \uc8fc\uc138\uc694!\r\nMakefile \uc9c0\uc6d0 \uc9c4\ud589 \uc0c1\ud669?\r\n\uc6b0\uc640! \ud639\uc2dc CLion\uc5d0\uc11c Makefile \uc9c0\uc6d0\uc774 \ucd94\uac00\ub420 \uc608\uc815\uc774\ub77c\ub294 \ub8e8\uba38\ub97c \ub4e4\uc73c\uc168\ub098\uc694?! \ub8e8\uba38\uc758 \ucd9c\ucc98\uac00 \uc5b4\ub514\ub4e0 \uadf8 \ub0b4\uc6a9\uc740 \uc0ac\uc2e4\uc785\ub2c8\ub2e4. \ud604\uc7ac \uc800\ud76c \ud300\uc740 CLion\uc5d0 \ucd94\uac00\ud560 Makefile \ud504\ub85c\uc81d\ud2b8 \ubd84\uc11d\uae30 \ud504\ub85c\ud1a0\ud0c0\uc785 \uac1c\ubc1c\uc744 \ub9c8\ucce4\uc73c\uba70 \uac1c\ubc1c \uc811\uadfc\ubc95 \ubc0f \ud604\uc7ac \uc9c4\ud589 \uc0c1\ud669\uc5d0 \ub300\ud55c \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\ub3c4 \uac8c\uc2dc\ud588\uc2b5\ub2c8\ub2e4. \ub610\ud55c \uc0ac\uc6a9\uc790 \uc5ec\ub7ec\ubd84\uc758 \uc9c0\uc9c0\ub97c \ubc14\ud0d5\uc73c\ub85c \ud504\ub85c\ud1a0\ud0c0\uc785 \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \ud504\ub85c\uc81d\ud2b8 \ubaa9\ub85d\ub3c4 \uad6c\uc131\ud588\uc2b5\ub2c8\ub2e4.\r\n\ud604\uc7ac \ud574\ub2f9 \ubaa9\ub85d\uc5d0\ub294 \uc57d 40\uc5ec \uac1c\uc758 \ud504\ub85c\uc81d\ud2b8\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc73c\uba70 \uadf8\uc911 \uc808\ubc18 \uc774\uc0c1\uc5d0 \ub300\ud55c \uac80\uc0ac\uac00 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4(CPython, \uc77c\ubd80 \uc784\ubca0\ub514\ub4dc \ud504\ub85c\uc81d\ud2b8, Nano, Nodejs, PostgreSQL). \ub300\ubd80\ubd84 \ud504\ub85c\uc81d\ud2b8\ub294 \uc6d0\ud65c\ud788 \uc791\ub3d9\ud588\uc9c0\ub9cc \ud504\ub85c\ud1a0\ud0c0\uc785\uc774 \uac80\uc0ac\uc5d0 \uc2e4\ud328\ud55c \ud504\ub85c\uc81d\ud2b8\ub3c4 \uc5ec\uc804\ud788 \ub0a8\uc544 \uc788\uc2b5\ub2c8\ub2e4(\uc2e4\ud328 \uc6d0\uc778\uc5d0\ub294 libtool\uacfc \uac19\uc740 \ub798\ud37c\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4). GCC, FreeBSD, Wine \ubc0f Perl \ub4f1\uc774 \uc2e4\ud328\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0 \ud574\ub2f9\ud569\ub2c8\ub2e4. \ud55c\ud3b8, \ub3c4\uc804\uc801\uc778 \uba87\uba87 \uc0ac\uc6a9\uc790\ub294 \uac1c\uc778 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \ud504\ub85c\ud1a0\ud0c0\uc785\uc744 \uc9c1\uc811 \ud14c\uc2a4\ud2b8\ud558\uace0 \uadc0\uc911\ud55c \ud53c\ub4dc\ubc31\uc744 \ub0a8\uaca8\uc8fc\uc168\uc2b5\ub2c8\ub2e4! \ubaa8\ub4e0 \ud53c\ub4dc\ubc31\uc5d0 \uac10\uc0ac\ub4dc\ub9bd\ub2c8\ub2e4.\r\n\uc774 \uc791\uc5c5\uc740 \uacc4\uc18d \uc9c4\ud589\ub418\uba70, \ud504\ud1a0\ud1a0\ud0c0\uc785\uc740 2020.2 EAP\uc5d0\uc11c \uacf5\uac1c\ub420 \uc608\uc815\uc785\ub2c8\ub2e4. \uadf8\ub3d9\uc548 \uc774 \ud504\ub85c\uc81d\ud2b8\ub97c \uc9c0\uc6d0\ud558\uace0 \uc2f6\ub2e4\uba74 \uc774 \uac8c\uc2dc\ubb3c\uc744 \ud655\uc778\ud574 \uc8fc\uc138\uc694.\r\n\uc774\uc0c1\uc785\ub2c8\ub2e4! CLion 2020.1 \ubc84\uc804\uc744 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694. \ud604\uc7ac \uad6c\ub3c5 \uc911\uc774\ub77c\uba74 \uc624\ub298 \uc5c5\ub370\uc774\ud2b8\ud558\uc138\uc694. \ub610\ub294 30\uc77c \ubb34\ub8cc \ud3c9\uac00\ud310\uc744 \ud1b5\ud574 \uc0c8 \uae30\ub2a5\uc744 \uc0b4\ud3b4\ubcf4\uc2e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4!\r\nCLion 2020.1 \ub2e4\uc6b4\ub85c\ub4dc\r\nCLion \ud300\r\nJetBrains\r\nThe Drive to Develop\r\n\r\n\uc774 \uac8c\uc2dc\ubb3c\uc740 Anastasia Kazakova\uac00 \uc791\uc131\ud55c CLion 2020.1: Dozens of Improvements Across the IDE, and Benefits for CUDA and Embedded Projects\ub97c \ubc88\uc5ed\ud55c \uae00\uc785\ub2c8\ub2e4","protected":false},"excerpt":{"rendered":"\uc6b0\uc120 \ubaa8\ub450 \uc548\uc804\ud558\uac8c \uc9c0\ub0b4\uc2dc\uae38 \ubc14\ub780\ub2e4\ub294 \uc778\uc0ac\ub97c \uc804\ud569\ub2c8\ub2e4! \uc0ac\uc2e4 \uc694\uc998\ucc98\ub7fc \uc911\uc694\ud55c \uc18c\uc2dd\uc774 \ub9ce\uc740 \uc2dc\uae30\uc5d0 \uc5c5\ubb34\uc5d0 \uc9d1\uc911\ud558\uae30 \uc27d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7fc\uc5d0\ub3c4 \uc800\ud76c \ud300\uc740 \ucd5c\uc120\uc744 \ub2e4\ud574 \uac00\uc7a5 \uc790\uc2e0 \uc788\ub294 \uc77c\uc744 \ud574 \uc654\uc2b5\ub2c8\ub2e4. \ubc14\ub85c \uac1c\ubc1c\uc790\uc758 \uc0dd\uc0b0\uc131\uc744 \ub192\uc774\ub294 \ud6cc\ub96d\ud55c \ub3c4\uad6c\ub97c \uc81c\uc791\ud558\ub294 \uc77c\uc774\uc8e0. \uadf8\ub9ac\ud558\uc5ec \uc0c8\ub85c\uc6b4 CLion 2020.1 \ub9b4\ub9ac\uc2a4\ub97c \uc18c\uac1c\ud569\ub2c8\ub2e4!\uc0c8 \ubc84\uc804\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub97c \ud558\ub824\uba74 T","protected":false},"author":{"name":"Jessie Cho","link":"https:\/\/blog.jetbrains.com\/ko\/author\/jessie-chojetbrains-com"},"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[4227,907],"tags":[506,4236],"cross-post-tag":[],"acf":[],"featured_image":null,"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34066"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=34066"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34066\/revisions"}],"predecessor-version":[{"id":52585,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/34066\/revisions\/52585"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=34066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=34066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=34066"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=34066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}