분류 전체보기215 [DX12] 물리시뮬레이터 만들어봤습니다 !! 저가 몇달전부터 그래픽스를 공부해오며, 물리엔진에 관하여 관심이 쭈우욱 생겼습니다. 그래서 최근에 온라인서점으로 동역학책을 하나 주문해서 공부중이랍뉘다!! 동역학책에 있던 연습문제를 풀다가, 문뜩.. "이걸 내가 만든 렌더링엔진에다가 구현해보자!!!" 라는 생각이 들어서 바로 시도!! 결과는 매우 만족스럽네요 ㅋㅋ 기반은 DirectX12기반입뉘다. 사실 옆에 벽도설치하고, 바닥도설치하고 거기에 텍스쳐까지입혀서 실제감을 줄려고했는데, 귀차니즘이 또,,,ㅎㅎ,,,, 부정적분을 이용한 실시간 중력 수직낙하 시뮬레이터 우선 2가지 기능을 넣었어요. 1. 위치초기화: 해골의 위치와 중력가속도, 모든 알짜힘이 초기화된다. 2. 위로 던지는 힘 더하기: 위로 해골을 던지는 힘을 더한다. 2022. 4. 23. 계산셰이더 어렵다... 깊이스텐실버퍼쪽은 아무것도 아니였네... 스레드랑 스레드그룹에 관한 개념은 이해가 갔지만, 이번에 실습중인 프로젝트의 매커니즘자체가 이해가 안감.... 흠.... 내 능지.. 괜히 마음만 급하네...ㅠㅠ.. 휴우.... 되도록이면 동생생일에 다렉12로 생일선물 만들어주려고 살짝 급하게 공부중인데,,,, (동생생일 5월말) 허..... 가능..??할까...?그때까지 최소 입방체맵핑까지는 공부해둬야 좀 선물같은 선물이될텐데.... 괜히 급하게해서, 이론공부도 못하고, 동생 생일선물 완성도도 떨어질듯...ㅠㅠ 2022. 4. 1. 뭐지...? 왜이렇게 어렵지...? 현재 혼합을 모두 끝마치고, 깊이스텐실버퍼랑 그림자행렬 쪽 공부중인데.. 깊이스텐실버퍼+그림자행렬.... 개념이랑 이론 둘다 너무 어려운데 뭐..지....? 나중에 책 다 정독하고 한번더볼챕터가 늘었네요.. [ 나중에 책 다 정독하고 한번더 볼 챕터 ] dx12초기화 연습문제 안푼것들 마저풀기 빛 혼합 깊이스텐실 흠.... 빛이나 혼합도 이론자체는 이해했는데, 깊이스텐실 개념은 딱 와닿지않네요.. 뭐 계속 달려들다보면 시간이 해결해주겠죠... 2022. 3. 22. DirectX12. 텍스쳐실습끝 혼합(blending)들어갑니다.....! 제목그대로 텍스쳐실습을 모두 맞추었습니다. 저기 네모난상자모형에 사용한 텍스쳐는 뭘까요?? 큭큭 몇주일~개월뒤에.. 공개합니다 ... (소소한 미래에 올릴 포스팅글의 떡밥) 힌트는 "원신 ㅋㄹㅌ ㅁㄷㅂㅇ에 사용할 텍스쳐" 입니다.. 드디어 텍스쳐단원을 탈출합니다...! 흠... 아직은 srv가 익숙치는 않아요. 하지만 dx12에서 어떤시스템으로 돌아가는지는 대충 알겠네요. 요약해서 여러개의 텍스쳐를 다루려면: 서술자힙 1개 만들고->서술테이블갯수를 렌더링할 텍스쳐갯수만큼 만들고, 셰이더에는 그냥 서술자힙의 갯수만큼만 Texture2D객체 올리면됨. 굿! 그리고, SamplerState객체는 Texture2D객체랑 아예 다르게관리함. 레지스터도 다르기때문에 그냥 별개의 메모리영역이라고 생각하면됨. 조만간 .. 2022. 3. 19. DirectX11 공부 7주차. 멀티 텍스쳐링과 텍스쳐 배열 안녕하세요!! 오랜만에 dx11 공부가 돌아왔습니다. 저는 이제 dx12에서 텍스쳐를 거의끝마치고 혼합단계에 들어갑니다... 확실히 dx12로 텍스쳐 엄청 지지고볶고 dx11와서 공부하는데에... 와.. 이해가 너무 잘되더라구요. 예전같았으면은 그냥 그대로 따라했을텐데, 이번에는 대충 강좌글 흝어보고, 뚝딱뚝딱 알아서 만들어보았습니다. (사실 dx12만 보다가 dx11로 오랜만에 와서그런지 dx11초기화공정을 까먹어서 한번더 보고시작함. ㅎㅎ..) 일단 이번에 공부한 내용은 멀티텍스쳐링입니다. 여러개의 텍스쳐배열을 통해서 픽셀셰이더에서 텍스쳐배열로 불러온 텍스쳐들을 모두 합치는 기법이예요. 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11.. 2022. 3. 18. (구) 나의 공부 로드맵 새로운 로드맵 링크입니다. 이번에 좀더 공부해보면서 좀더 체계적으로 설계된 로드맵입니다(2022-06-02) https://mawile.tistory.com/336 나의 공부 로드맵 저의 공부로드맵은 계속해서 갱신되는중입니다. 이번에 몇달 더 공부해보면서 좀더 체계적이고 현실적으로 세워진 공부로드맵입니다. 밑에 색깔표시는 대략적인 수치이며, 정확한수치가 아닌 mawile.tistory.com 우선 하얀색은 아무 일정이 없는 내용들입니다. 노란색은 현재 공부중인 것들입니다. 빨간색은 공부가 거의 다 끝난 것들입니다. 파란색은 다음 공부할 것들입니다. dx, 유니티엔진에 관한 이야기... 쓰으읍... 이상하게 dx11을 dx12보다 빨리시작했는데도 불구하고, dx12가 진도가 매우빨라요. 절반밖에안남았습니다.. 2022. 3. 14. 빛&카툰셰이딩 실습 끝! 이번에 빛이랑 셰이더공부하면서 책에 끝에있는 연습문제중에서 카툰셰이더 구현문제가 있길래, 풀어보았습니다. 흠.... 처음에 어떻게 구현할까 책의 힌트를 봐가며, 고민해봤죠. [책에 적혀있던힌트] 카툰스타일조명의 한가지 특징은 한 색조에서 갑자기 다른 색조로 넘어간다는것이다. 흠.... 고민하다가, 분산반사율을 조정해야하나? 아니면 빛계산으로 구해진 평행광을 조정해야하나? 고민하다가 하나씩 다 넣어보니까 평행광->점광->점적광을 모두 계산한 빛에다가 카툰셰이딩을 지지고볶고해보았습니다. 실제 구현부분은 밑에 코드로 남겨놓겠습니다. 그냥 C++에서 일일이 DiffuseAlbedo를 조정하는것보다 hlsl셰이더쪽에서 모든 유형의 빛의 계산이 끝난뒤 한번에 계산하는것이 편하고 심플할것같아서 그렇게했습니다. 만들어.. 2022. 3. 10. Model loader(모델 불러오는 프로그램) 만들었습니다. 기반은 예전에 정육면체만들었던 프로젝트위에다가 만들었습니다. 깃허브에도 올려놨어욧~ https://github.com/orangelie/DirectX12Study/tree/main/4.%202022-03-03%20(Model_Renderer) GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform). DirectX 12 Study & Developing GameEngine Application(Platform). - GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform).. 2022. 3. 3. 사버렸다… 못참고 사버렸네요… 이번에 jlpt n3 도전해보려구요. 완전 쌩초보라서 바로 n2 n1가기는 좀 그렇고, 빡쎄게공부해서 2023년초에 도전!! 2022. 2. 24. [잡담] 내가 생각하는 노력과 재능의 차이점 저가 생각하는 노력과 재능에 대한 차이점입니다. 우선 저는 알기쉽게 그림으로 그려서 보여드릴게요. 일단 무엇을 하든간에 기본적으로 노력을 해야지 재능이 발현된다고생각합니다. 한마디로 노력의 깊이가 "talent line"을 넘어섰을때 즉, 어느정도 해당분야에서 깊이있게 들어갔을때부터 재능이 거기에 깊이를 곱해주는것이라고 생각하죠. 그래서 가독성있게 c++코드로도 구현해봤습니다. #include constexpr const double talent_line = 100; // 재능이 발현되는 구간 constexpr const double DepthOfEffort = 700; // 노력의 깊이 constexpr const double SizeOfTalent = 1.5; // 재능의 크기 int main() {.. 2022. 2. 20. c++17 | r-value를 l-value로 바꾸는 방법 안녕하세요! 이번에는 r-value를 l-value로 바꾸는 방법에 관하여 알아보겠습니다. 저가 이번에 그래픽공부를 하면서 진짜~~!! 엄청 많이 마주친 오류... 흠... 이 오류는 l-value가 있어야 할 자리에 r-value가 존재하기 때문이죠. l-value는 고유의 메모리주소를 참조할 수 있으며, r-value로도 치환이 가능하지만, 반대로 r-value는 불가능하죠... 그래서 생기는 문제입니다. 저는 이 문제를 그냥 고유의 메모리주소를 할당해주어 인스턴스 하나만들어가면서 고치고있었는데, 매번~ 이 오류뜰때마다 인스턴스만들기도 뭣하고.... "뭐 간단하게 바꿀수있는법 없나?" 라고 생각하면서 스택오버플로우를 탐방해보았습니다. 그리고.. 발견!! 이 방법이 진짜 간단해요. https://sta.. 2022. 1. 30. [성향테스트] 동화 주인공 테스트 재밌어서 엄청하는중입니다... 이번에는 내가 동화주인공이라면 누굴까라는게 주제네요. https://www.banggooso.com/gl/79/ 동화 주인공 테스트 나는 동화 속 어떤 캐릭터일까? www.banggooso.com 흠... 저는 놀부네요 ㅋㅋㅋㅋ 흠.. 그렇군그렇군~ 2022. 1. 24. [성향테스트] 나와 가장 비슷한 귀멸의 칼날 캐릭터는? 짜잔~!! 요즘에 ㅋㅋ;;;... 프로그래밍말고 새로운취미를 찾았어요. 성향테스트입니다. 심심할때하기 딱좋네요. https://www.diggfun.co/quizzes/details/id/3392/lang/ko/type/longselect?cat=Entertainment&month=202101 나와 가장 비슷한 귀멸의 칼날 캐릭터는? Want to see your result? Test now! www.diggfun.co 표지입니다. 음... 저는 시노부 코초가 나왔습니다. 저가 다혈질이라서, 최대한 화안내려고 노력하고있기는합니다만ㅋㅋㅋㅋㅋㅋㅋㅋ뭔가 웃기네ㅋㅋ 여러분도해보세요. mbti랑 비슷한느낌이라서 재밌습니다 ㅋㅋㅋㅋㅋㅋ 2022. 1. 24. 1부터 n사이의 홀수의 합을 O(1)로 구하는 방법 ( C++ 최적화 기법 ) 갑자기 생각나서 만들어보았습니다. 솔직히 for문으로 1부터 n까지 순회하면서 홀,짝수인지 판별하는것은 구현하기 매우 쉽죠. 하지만, 이랬을때 단점이 n의 수가 커질수록 그 연산시간은 n의 크기에 비례해서 증가한다는 점입니다. 우리는 n의 크기에 영향을 받지않고 항상 같은(짧은)속도로 연산을 하는 방법을 의논하는겁니다. 1부터 n까지의 홀수의 합을 O(1)로 구하는 방법#include using bint = std::int64_t; bint Get_1toN_in_O1(bint n){ bint ncore, ncycle, result; n -= (n & 1) ? 0 : 1; ncore = ((n + 1) >> 1); ncycle = (ncore >> 1); result = (ncycle * (n + 1)) .. 2022. 1. 22. rastertek강좌에서 소개하는 프러스텀 컬링 기법이 의미하는 수학적 해석 안녕하세요! 이번에 rastertek강좌에서 소개하는 프러스텀 컬링기법에 사용된 수학적인 해석을 토론해보는 시간을 가져보도록하겠습니다. 저가 프러스텀컬링 기법을 검색해보니 많은 자료가 나왔는데, 그 중에서 이 기법에 관하여 rastertek강좌를 번역및 편집해주시는분이 보이지 않더라구요. 그래서 한번 포스팅올려봅니다. 우선 rastertek강좌를 보다오신분은 해당 링크에서 공부해오셨는지 확인해주시기 바랍니다. http://www.rastertek.com/dx11tut16.html Tutorial 16: Frustum Culling Tutorial 16: Frustum Culling The three dimensional viewing area on the screen where everything is .. 2022. 1. 22. [UE4] 선형보간법(Linear Interpolation)을 이용하여 움직이는 객체를 만들자! 안녕하세요! 이번에 노트북 새로 장만한 기념으로 언리얼엔진을 공부하고있습니다. 앞으로는 자체엔진공부 & 언리얼엔진공부를 집중적으로 해보려구요!! [UE4] 선형보간법(Linear Interpolation)을 이용하여 움직이는 객체를 만들자! 선형 보간법(線型補間法, linear interpolation)은 끝점의 값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위하여 직선 거리에 따라 선형적으로 계산하는 방법입니다. 만약에 이러한 상황이 있다고 가정해봅시다. 어떠한 정점A를 (10, 5)이라고 하고 어떠한 정점 B를 (-1, 0)라고 했을때, 일정한 속도로 A에서 B로가는데 5초가 걸렸다고 해봅시다. 그러면 1.7초가 걸렸을때는 어디에 위치할까요? 흠... 아무래도 선형보간법을 사용하지않고 암산으로 풀.. 2021. 12. 30. 윈도우 애플리케이션에서 콘솔 사용하는 법 윈도우 애플리케이션에서 콘솔 사용하는 법 오늘 게임엔진 공부하는데 하드웨어어댑터를 콘솔로 출력하고 싶어서 찾아봤는데, 이러한 내용이 있더라구요. https://stackoverflow.com/questions/587767/how-to-output-to-the-console-in-c-windows How to output to the console in C++/Windows When using iostream in C++ on Linux, it displays the program output in the terminal, but in Windows, it just saves the output to a stdout.txt file. How can I, in Windows, make the output a.. 2021. 12. 28. 주석(Comment) 강박증이 생겼다... 최근에 주석(Comment) 강박증이 생겼다... 뭔가 나만의 깔끔하고 독창적인 주석체계를 만들고싶다. 내가 최근에 아이디어를 내서 쓰고있는 주석문인데, 보기 되게 좋고 코드도 깔끔하게 보인다. 근데, 그냥 이렇게만 사용하면 안될것같다. 뭔가 설명, 함수파라미터, 클래스, 네임스페이스, 사용법 등등도 옵션처럼 주석에 끼워넣고싶다. 흠.... 이것도 연구해봐야겠다. 2021. 12. 25. c/c++ 메일 전송(smtp프로토콜) | 이론과 실습 🎄 개요 안녕하세요! 오랜만에 c++ 네트워크글이 돌아왔습니다... 이번에는 저가 엄청나게 유익한 내용을 들고왔는데요.. 흔히 여러분들중에서 키로거사용경험이 있으신분들은 smtp를 이용한 메일전송을 많이보셨을겁니다. 이번 포스팅에서는 c++환경에서 아무 상용라이브러리의 도움없이 smtp프로토콜을 이용하여, 메일을 전송하는 방법에 관하여 토론하는 시간을 가져보도록 하겠습니다. 🎄 목차 - SMTP 프로토콜이란? - SMTP 프로토콜의 내부구조 - 구글의 SMTP 서버 이용하기 - C++20을 이용한 메일전송 프로그램 만들기 (Unauthorized id[:비검증된 계정]) - 나만의 SMTP 서버 만들기 - C++20을 이용한 메일전송 프로그램 만들기 (Authorized id[:검증된 계정]) - 마치며.. 2021. 12. 25. 해킹도구 개발 | 키로거(Keylogger) 이론및 개발실습 🔥 소개 안녕하세요! 오랜만에 해킹툴 개발강좌가 돌아왔습니다!! 이번 시간에는 속도측면에서 좀 더 강화된 설계를 가지고 돌아왔습니다. 옛날에 올린 키로거관련 포스팅입니다. https://mawile.tistory.com/131 키로거 만들기 C++ 개발환경 >> Visual Studio 언어 >> C++20 운영체제 >> Windows10 안녕하세요..! 이번에는 키로거를 만들게 되었습니다. 키로거는 만들기 엄청 간단합니다. 이글과는 상관없지만, 현재 다음 악성코드 강좌 mawile.tistory.com 흠.. 지금보니까 뭔가 심플하지만, 설명이 부족하고, 네트워크관련 설계도 없습니다. 이번시간에는 DirectInput8과 윈도우의 iocp를 이용하여 하드웨어레벨까지 총망라하여 강력한 속도의 키로거를 직.. 2021. 12. 23. 오랜만에 MBTI 검사를 받아보았다. MBTI 검사를 받아보았다. 그냥 주말에 심심해서 오랜만에 mbti검사를 받아봤습니다. 저가 최근에 헬스를 시작해서 살짝 성향이 변했을거라고 예상했는데 딱히 성향은 안변했네요.. 사실 작년 2020년 11월에 받아봤을때도 "INTP 논리적인 사색가" 였는데 지금도 똑같네요.. 흠... 그동안 운동많이해서 외향수치 올라갔을거라생각했는데 거의 변동없더라구요;.. 추가로 위인들이나 유명한 인물중에서 저랑 같은 성향의 분들이라네요. 끝 ! 2021. 12. 19. 2022년 발매예정! 메이드 인 어비스 | 액션 RPG 3D 게임 PC PS4 Switch 2022년 발매예정! 메이드 인 어비스 | 액션 RPG 3D 게임 PC PS4 Switch 2021년 5월 5일에 트위터를 통해 콘솔용 게임 제작이 발표되었다고합니다. 개발사 스파이크 춘소프트 타이틀명 메이드 인 어비스 ~어둠을 목표로 한 연성(連星)~ 발매기종 PS4 / 스팀(PC) / 닌텐도스위치 발매예정 2022년 발매예정 공식 홈페이지 https://www.spike-chunsoft.co.jp/miabyss/top.html メイドインアビス 闇を目指した連星 | スパイク・チュンソフト 原作者監修のオリジナルストーリーでアビスの世界を体験できる3DアクションRPGがPS4,Nintendo Switch,Steamに登場。 www.spike-chunsoft.co.jp 영상및 이미지 느낀점 이번에 게임관련소식을 살펴보다.. 2021. 12. 18. [3장] 좌표 변경 변환 문제풀이 | DirectX 12를 이용한 3D 게임 프로그래밍 입문 변환 28번 문제 풀이 일단 저는 밑에 문제를 풀어보았습니다. 최소값이되는 점 (1, 1)과 최대값이 되는 점 (3, 3)을 x축에 대하여 2단위 비례시킨 행렬을 구하라. 라는 생각으로 풀었죠. 풀이 우선 사각형의 중점을 원점으로 설정하기 위해, 사각형의 중점을 구해줍니다. \( 사각형의 중점의 좌표 ={(3, 3) / (1, 1)} / 2 = (2, 2) \) 이제 좌표 변경 변환을 수행합니다. 우선 저는 최소점좌표를 \( (min_{x}, min_{y}) \) 로 두겠습니다. 그리고 최대점좌표는 \( (max_{x}, max_{y}) \) 로 두겠습니다. 그리고 중점의 좌표를 \( (side_{x}, side_{y}) \) 로 두겠습니다. 그러면,, 이를 통해 좌표 변경 변환을 수행하면? 좌표 변경 .. 2021. 12. 16. 게임개발 공부 (1) 행렬 | Direct 12를 이용한 3D 게임 프로그래밍 입문 게임개발 공부 (1) 행렬 | Direct 12를 이용한 3D 게임 프로그래밍 입문 이번에 책을 읽어보면서 행렬에 대하여 공부해보았습니다. 흠.. 사실 DirectX 11 공부할때에도 행렬은 진짜 기본중의 기본이었지만, 사용된 행렬함수의 내부공식이 정확히 어떻게 되어있는지 몰랐지만, 이번에 그 궁금증이 풀렸습니다. 우선 궁금증이 풀린 메소드가 D3D11MatrixTranspose() 2021. 12. 11. 그람-슈미트(Gram-Schmidt) 공정을 이용한 정규 직교화 안녕하세요!! 게임개발 입문서에서 그람-슈미트 공정과 관련해서 연습문제가 있길래, 직접 풀어보았습니다. 우선 답지가 어디있는지 안보여서 그냥 감으로 (코딩)풀었습니다. 답이 맞는지 확인하기 위해서 그람-슈미트 계산기를 열고 값을 비교해보니, 대충 실수점오차제외하면 일치하는것같네요. 그람-슈미트 공정은 벡터 집합이 주어졌을때 직교기저를 구하는 과정입니다. 그러면은 실제 어떤식으로 구해지는지 알아보겠습니다. 그람-슈미트(Gram-Schmidt) 정규 직교화 그람-슈미트 정규 직교화에서는 크게 3번의 과정으로 이루어집니다. 1. w의 첫번째원소는 v의 첫번째원소이다. 2. 식은 다음과 같다. 3. w를 일반화한다. 와우!! 간단합니다. 혹시 proj 2021. 12. 10. 동적 스크립트 컴파일 (Dynamically Embedded lua script in exe) | 루아(Lua) 스크립트 엔진 🎄 동적 스크립트 컴파일 (Dynamically Embedded lua script in exe) 안녕하세요!! 엄청난 내용이 왔습니다. 이것을 응용하면 exe를 합칠수도있고, 여러가지로 응용할 수 도있습니다. 이번 포스팅에서는 우리가 C++에서 Lua스크립트를 컴파일할때, 동적으로 C++에 임베딩된 루아스크립트 리소스의 내용을 변환시켜서 컴파일해보겠습니다. 그냥 쉽게 말해서 exe를 변환시켜서 내부적으로 포함되어있는 lua스크립트의 내용을 이미 컴파일되어있는 상태에서 동적으로 수정할 수있다는 소리입니다! 그럼 바로 시작하겠습니다! 🎄 솔루션및 환경세팅 우선 C/C++ 버전은 다음과 같이 맞추었으며, 보시다시피 솔루션은 2개입니다. "LuaScriptEngine1"은 실제 저희가 실행할 동적 lua실행프.. 2021. 11. 30. 간단하게 DirectX 최신 버전 설치 & 개발 환경 세팅 간단하게 DirectX 최신 버전 설치 & 사용해보기 안녕하세요! 이번에는 DirectX의 최신버전을 설치하고 비주얼스튜디오에서 환경을 맞추어보도록 하겠습니다. 이 강좌는 간단하게 나중에 여러가지의 포스팅을 위해서 게시된 글입니다. 다운로드 DirectX의 최신버전은 Microsoft의 정식사이트에서 다운로드가능합니다. https://www.microsoft.com/ko-kr/download/details.aspx?id=35 Download DirectX 최종 사용자 런타임 웹 설치 관리자 from Official Microsoft Download Center 중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 네덜란드어독일어러시아어스웨덴어스페인어영어이탈리아어일본어중국어.. 2021. 11. 28. DirectX11 공부 6주차. 폰트 엔진, DirectInput 안녕하세요!! 이번에는 2D모델 렌더링을 이용한 화면에 글자 띄우기와 DirectInput을 이용하여 초고속으로 마우스와 키보드의 입력값을 받아오는 연습을 했습니다. 이번에 글자띄우기를 해보면서 배운점이 몇가지있습니다. 대표적으로 글자를 띄우는 원리인데, 내부적으로 투명색의 사각형모양의 정점버퍼를 띄운후, 그 위에 폰트 텍스쳐를 띄우는것으로 글자를 띄울 수 있었습니다. 나중에 Frustum Culling 부분까지 진도를 나가면 개인프로젝트로 자체게임엔진을 하나 간단하게 포트폴리오형식으로 만들어서 티스토리블로그랑 깃허브에 공유해보도록 하겠습니다! 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials.. 2021. 11. 27. [C++/MSVC] 디버깅(Debugging) 강좌 (메모리 누수 방지) 해당강좌는 미완성강좌입니다. 완성될때까지 북마크하고 기다려주세요! 디버깅(Debugging) 강좌 안녕하세요! 이번 포스팅에서는 MSVC컴파일러에서 지원하는 디버깅 기능을 적극적으로 이용하여 저희가 직접 메모리에서 생겨나는 누수들을 탐지하고 디버그하는 내용을 알려드리겠습니다! 우선 시작하기 앞서서 목차를 확인하고 가시죠! 목차 1-1. Visual Studio 2022 Current (v143) 디버그 하는방법 1-2. 메모리 누수가 위험한 이유 2-1. _CrtDumpMemoryLeaks : 메모리누수를 방지하는 간단한 방법 2-2. _CrtSetReportMode : 메모리누수 보고를 설정하는 방법 2-3. 메모리누수를 탐지하고 통지하는 기능 만들기 2-4. MyCheckMemoryLeaks 클래스 .. 2021. 11. 25. [Rust] Raw-Pointer 직접 관리하는 방법 안녕하세요! 이번시간에는 Rust에서 C/C++처럼 Raw-Pointer를 프로그래머가 직접 관리하는 방법에 관하여 포스팅하겠습니다. Rust는 C/C++과는 다르게 프로그래머가 따로 메모리를 관리하지 않아도 알아서 프로그램이 적당히 메모리를 할당하고 할당해제 해줍니다. 사실 Rust는 시작한지 몇달됬습니다. Rust관련 포스팅은 귀찮아서 올리지 않고있습니다. 잡담은됬고 바로 시작하겠습니다. 🥔 Raw-Pointer 직접 관리하는 방법 우선 Rust에서 프로그래머가 Rust컴파일러의 영향을 받지않고 온전히 메모리를 관리하고 싶다면 unsafe 라는 키워드를 사용해야 합니다. 위에서도 설명했다시피 Rust는 이와 같은 예외적인 상황이 아니라면 대부분의 경우 프로그램이 알아서 메모리를 관리해줍니다. 다음은 .. 2021. 11. 24. 이전 1 2 3 4 5 ··· 8 다음