2022/10
[C#] WinForm ๋๊ตฌ ์์์ ์ปจํธ๋กค์ด ์ถ๊ฐ๋์ง ์๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ
[C#] WinForm ๋๊ตฌ ์์์ ์ปจํธ๋กค์ด ์ถ๊ฐ๋์ง ์๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ
2022.10.29๋๊ตฌ ์์์ ์ปจํธ๋กค์ด ์ถ๊ฐ๋์ง ์๋ ๋ฌธ์ C# WinForm์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต๋๋ ์ปจํธ๋กค ์ธ์, ๋ด๊ฐ ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ ์ปจํธ๋กค์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ ์ปจํธ๋กค(Custom control)๋ก ์ง์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋๋ NuGet์ด๋ ๋๊ตฐ๊ฐ ๋ง๋ ์ปจํธ๋กค dll์ ์ฌ์ฉํด๋ ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ์ธ๋ถ ์ปจํธ๋กค์ ํผ(Form) ๋์์ด๋์์ ์ฌ์ฉํ๋ ค๋ฉด ๋๊ตฌ ์์(Tool box)์ ์ถ๊ฐ๋์ด์ผ ํ๋๋ฐ์. ํํ์ด๋ฉด Visual Studio ๋ฒ๊ทธ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ผ๋, ๋๊ตฌ ์์์ ์ปจํธ๋กค์ ์ถ๊ฐํ๋ค๊ฐ Visual Studio๊ฐ ์ข
๋ฃ๋๋ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค. [Visual Studio] VS2015 ๋๊ตฌ ์์(ToolBox) ์ข
๋ฃ ํ์ ํด๊ฒฐ ๋ฐฉ๋ฒ [Visual Studio] VS2015 ๋๊ตฌ ์์(ToolBox) ์ข
๋ฃ..
[C#] WinForm์ Form ๋์์ด๋๊ฐ ์ฌ๋ผ์ง๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
[C#] WinForm์ Form ๋์์ด๋๊ฐ ์ฌ๋ผ์ง๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
2022.10.25Form ๋์์ด๋๊ฐ ์ฌ๋ผ์ง๋ ํ์ ์์ฃผ ๊ฐ๋ C# WinForm ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ค๊ฐ Form ๋์์ด๋๊ฐ ์ฌ๋ผ์ง๋ ํ์์ด ์๊น๋๋ค. ์ ์์ ์ด๋ผ๋ฉด ์๋์ ๊ฐ์ด Form.cs ํ์ผ์ ์์ด์ฝ์ด ํผ(Form)์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ธ ํด๋ฆญํ๋ฉด ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด UI ๊พธ๋ฏธ๊ธฐ๊ฐ ๊ฐ๋ฅํ ๋์์ด๋ ์ฐฝ์ด ํ์๋์ด์ผ ํ์ฃ . ๊ทธ๋ฐ๋ฐ ์ด๋ ์๊ฐ๋ถํฐ ํผ ์์ด์ฝ์ด ์ฌ๋ผ์ง๊ณ C# ์์ด์ฝ์ด ์๊ธฐ๋ฉด์ ๋์์ด๋๊ฐ ๋ ์ด์ ๋ณด์ด์ง ์๋ ํ์์ด ์์ต๋๋ค. ์ด์ํ๋ค ์ถ์ด ํ๋ก์ ํธ๋ฅผ ๋ค์ ์ด์ด๋, PC๋ฅผ ์ฌ๋ถํ
ํด๋, ์ด๋ฆ์ ๋ฐ๊ฟ๋ ๋์ ํ ๋์์ค์ง ์์ต๋๋ค. ์ด๋ฐ ํ์์ด ๋ฐ์ํ์ ๋ ์์ฃผ ๊ฐ๋จํ๊ฒ ์กฐ์นํ๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. csproj ํ์ผ์ ์์ ํ์ฌ ํด๊ฒฐํ๊ธฐ ์ด ๋ฌธ์ ๋ ํ๋ก์ ํธ ํ์ผ์ ์์ ํ์ฌ ์ฝ๊ฒ ํด๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ์๋ ๊ทธ๋ฆผ์ฒ๋ผ, *..
[C++] C++์์ ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(SEH) ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
[C++] C++์์ ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(SEH) ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
2022.10.18๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ์ C++ ์์ธ ์ฒ๋ฆฌ ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ๋ Microsoft Windows์ ๊ธฐ๋ณธ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด๋ฉฐ, ์ํํธ์จ์ด์ ํ๋์จ์ด ์์ธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๊ณ ์ค๋ช
ํ์์ต๋๋ค. ์ด๋ฌํ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์. ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(SEH, Structured Exception Handling) ๊ธฐ์ด ์ด์ผ๊ธฐ ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(SEH, Structured Exception Handling) ๊ธฐ์ด ์ด์ผ๊ธฐ ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(SEH)๋? ๊ตฌ์กฐ์ ์์ธ ์ฒ๋ฆฌ(์ดํ SEH)๋ ํ๋์จ์ด์ ์ํํธ์จ์ด ์์ธ๋ฅผ ๋ชจ๋ ์ฒ๋ฆฌํ๋ Microsoft Windows์ ๊ธฐ๋ณธ ์์ธ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ์
๋๋ค. ํ๋์จ์ด ์์ธ๋ ์์ธ๊ฐ ๋ฐ์ํ ์ฃผ์ฒด๊ฐ CPU luckygg.tistory.com ๊ทธ๋ฆฌ๊ณ C++ ์์ธ ๋ฌธ๋ฒ์ธ try, catch..
ํ๋ก๊ทธ๋จ์์ ์ผ๋ฐ์ ์ธ ์์ธ ์ฒ๋ฆฌ(Exception Handling)ํ๋ ๋ฐฉ๋ฒ
ํ๋ก๊ทธ๋จ์์ ์ผ๋ฐ์ ์ธ ์์ธ ์ฒ๋ฆฌ(Exception Handling)ํ๋ ๋ฐฉ๋ฒ
2022.10.15์์ธ ์ฒ๋ฆฌ๊ฐ ์ ํ์ํ ๊น์? ํ๋ก๊ทธ๋จ์ ์์ธ ์ฒ๋ฆฌ๋ ์์ฃผ ์ค์ํฉ๋๋ค. ๋ด๊ฐ ๋ง๋ ํ๋ก๊ทธ๋จ์ด ๋ชจ๋ ์ํฉ์์ ํญ์ ์ ๋์ํ ๊ฒ์ด๋ผ๋ ๋ณด์ฅ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด์ฃ . ์๋ฌด๋ฆฌ ์ ๋ง๋ค์๋ค๊ณ ํด๋, ๋ง์ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ํ๊ฒฝ์ด๋ ์กฐ์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌด์จ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ง๋ ์ ์๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ํ๋ก๊ทธ๋๋ฐ ๊ด๋ จ ์์ (๊ธฐ์ด ์ธ์ด ๋ฌธ๋ฒ์ ๋ค๋ฃจ๋ ์ฑ
๋ฟ๋ง ์๋๋ผ, ํ๋ก๊ทธ๋จ ์ค๊ณ, ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ ๋ฑ)์ ๋ณด๋ฉด, ๊ฑฐ์ ๋๋ถ๋ถ ์์ธ ์ฒ๋ฆฌ์ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ์์ธ ์ฒ๋ฆฌ๊ฐ ์ ๋์ด ์์ด์ผ ์์ ์ ์ธ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ด์ฃ . ์ฐธ๊ณ ๋ก, ์ ๊ฐ ์ธ๊ธํ๋ ์์ธ ์ฒ๋ฆฌ๋ ๋์ค์ ์๊ฐํ ์๋ฌ ์ฒ๋ฆฌ(Error Handling)์ ์์ธ ์ฒ๋ฆฌ(Exception Handling) ๋ชจ๋๋ฅผ ํต์นญํ๋ ํํ์
๋๋ค. ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ..
์์ธ ์คํ ํ๊ธฐ(Stack Unwinding)์ ํ๋ก๊ทธ๋จ ์ฑ๋ฅ ์ํฅ
์์ธ ์คํ ํ๊ธฐ(Stack Unwinding)์ ํ๋ก๊ทธ๋จ ์ฑ๋ฅ ์ํฅ
2022.10.12์คํ ํ๊ธฐ(Stack Unwinding)๋? ์์ธ๊ฐ ๋ฐ์ํ ํจ์์์ ์์ธ๊ฐ ์ฒ๋ฆฌ๋์ง ์์ผ๋ฉด, ์์ ํจ์๋ก ๋์๊ฐ ์์ธ๊ฐ ์ฒ๋ฆฌ๋๊ธฐ๋ฅผ ์๋ํฉ๋๋ค. ๋ง์ฝ, ์์ ํจ์์๋ ์๋ค๋ฉด ๋ค์ ๊ทธ ์์ ์์ ํจ์๋ก ๋์๊ฐ๋ฉฐ ๋ฐ๋ณตํ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ, ์์ธ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด๋ ๊ณณ์์๋ try-catch ๋ฌธ์ด ์๋ค๋ฉด ํ๋ก๊ทธ๋จ์ ์ข
๋ฃ๋๊ณ ๋ง๋๋ค. ์ด๋ ๊ฒ ์ด์ ์ ํธ์ถ๋ ํจ์๋ก ๊ณ์ ๋์๊ฐ๋ ๊ฒ์ ์คํ ํ๊ธฐ(Stack Unwinding)๋ผ๊ณ ํฉ๋๋ค. ๋ค์์ ์์ ์ฝ๋๋ฅผ ๋ณด๊ฒ ์ต๋๋ค. namespace ExamException { class Program { static void func1() { func2(); } static void func2() { func3(); } static void func3() { throw new Ex..
[VTK] CMake ๋น๋ ๋ฐ Visual Studio ํ๊ฒฝ ๊ตฌ์ฑ
[VTK] CMake ๋น๋ ๋ฐ Visual Studio ํ๊ฒฝ ๊ตฌ์ฑ
2022.10.10VTK ๋ผ์ด๋ธ๋ฌ๋ฆฌ VTK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ฌ์ฉ์์ ํ๊ฒฝ์ ๋ง์ถฐ ์ง์ CMake๋ก ๋น๋ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Visual Studio ๋ฒ์ ์ด๋ผ๋ ๊ฐ, 32bit ๋๋ 64bit์ ๋ง๋ ํ๊ฒฝ์ผ๋ก ๋น๋ํด์ผ ํฉ๋๋ค. ์ด์ ์๋ VTK CMake ๋น๋์ Visual Studio ํ๋ก์ ํธ ํ๊ฒฝ ์ค์ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฌ ๊ธ์ด ์๋๋ฐ์. VTK์ Visual Studio ๋ฒ์ ์ด ๋ฎ์ ์ข ๋ ์์ ๋ฒ์ ์ ๋ง์ถฐ ํฌ์คํ
์ ์๋ก ํ๊ฒ ๋์ต๋๋ค. ์ด์ ๊ธ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์. [VTK] VTK 8.2 ๋ฐ Visual Studio 2015 ํ๊ฒฝ ๊ตฌ์ฑ [VTK] VTK 8.2 ๋ฐ Visual Studio 2015 ํ๊ฒฝ ๊ตฌ์ฑ VTK๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ค๋น ๊ณผ์ ์ด ๋ค์ ๊ธธ๊ณ ๋ณต์กํฉ๋๋ค. ๋ณธ ๊ธ์์๋ ์ฐจ๋ก์ฐจ๋ก ์ฝ๊ฒ ..