[C++] | extern "C"와 __declspec(dllexport)는 대체 뭔데
·
개발/C++
개요C++로 DLL을 익스포트하여 유니티에서 사용하려고 할때 C++안의 함수에 extern "C" __declspec(dllexport)를 붙입니다.참 기괴하게 생겼는데 어찌보면 C++답게 생겼습니다.오늘은 얘네들이 뭐하는 놈인지를 살펴보죠.    extern "C"딴거 다 제쳐두고 뜻만 알아보자면 extern "C"는 코드를 C언어 스타일로 내보내라는 뜻입니다....너무 막연하죠? 당연하게도 뭔소린지 모르겠습니다. C++도 해보다보면 사실 C언어 확장판이라 대체 C언어 스타일이 뭘까 고민하게됩니다.조금 더 깊이 들어가자면 extern "C"는 name mangling을 하지 말라는 뜻입니다. name mangling이 extern "C" 키워드를 이해하기 위해선 먼저 C++의 name mangling을..
[백준] | 골드5 달성!
·
알고리즘/C++
1일 1백준은 잘 지켜지는 중입니다...
[수학] | 공리적 집합론과 체
·
기타/수학
개요사원수까지 달리기 위해 기초부터 차근차근히 짚어가봅시다.   소박한 집합론(Naive Set Theory)공리적 집합론을 알기 전에 소박한 집합론을 먼저 알아야합니다.수학 용어가 몇개는 진짜 때깔나면서도 몇개는 참 짜치는데, 소박한 집합론도 그 중 하나입니다. 이 소박한 집합론이란 무엇이냐 하면 우리가 고등학교 까지의 의무 교육을 거치면 배우는 집합. 딱 그것입니다.저도 이 이상의 집합에 대해선 모르기때문에 간단하게 소박한 집합론이 무엇인지만 짚고갑시다. 소박한 집합론은 집합을 단순한 대상들의 모임으로 이해하는 것을 말합니다....참 추상적이죠. 간단하게 어떠한 집합 \(A\) 에 원소 \(\{ a, b, c \cdots\}\)가 존재하며 어떠한 집합 \(B\) 에 집합 \(A\)의 원소가 모두 포함..
[수학] | 사원수(Quaternion)에 대해 이해해보기(-1) - 대체 사원수가 뭔데
·
기타/수학
개요요즘 게임엔진응용 수업을 들으면서 게임 수학에 대한 이야기가 부쩍 늘었다는걸 느꼈습니다. 그래서 원래 벡터부터 차근차근히 밟아가려고 만들었던 수학 카테고리의 기념비적인 첫글은 사원수(Quaternion)가 되겠습니다. 살짝 의아한 점은 수업에 나왔던 게임 수학은 4x4행렬 관한 내용이였다는 것이죠. 아무튼 잡소리는 치우고 바로 시작합시다.   무엇일까?일단 왜 사용하는지를 알기 전에 무엇인지를 알아야겠죠? 사원수(Quaternion)는 실수 1개와 허수 3개로 이루어진 4차원의 수 체계입니다.실수를 제외하고 허수 3개는 i, j, k라고 보통 명명하고 여기서 우리에게 익숙한 허수 i를 제외한 j, k는 둘 모두 제곱했을때 -1이 되는 'i와는 다른 새로운 허수'입니다.$$a \quad bi \quad..
[Unity/C#] | 포션 시스템
·
개발/Unity
개요반갑습니다.오랜만에 개발일지로 찾아뵙습니다. ...하지만 개발일지라기보단 이미 개발된걸 되짚어보는 글에 가깝습니다. 각설하고, 시작하죠.    포션을 왜?한동안 프로젝트 활동이 없던 제가 왜 갑자기 개뜬금없이 포션 시스템을 만드느냐 하면?복잡한 사정이 겹치고 겹쳐 현재 결선에 올라가있는 STA+C팀에 개발자로서 참여하게 됐습니다. 그래서 그 게임의 메인 기믹인 포션을 제가 맡아 개발하기로 했죠. 대충 이런 포션들입니다.   원래 버프 디버프 시스템도 작성했지만 글이 너무 길어질것 같아 일단 떼어놓고,이제 이걸 어떻게 만들었는지 하나하나 풀어보죠.    아이디어 정리기본적으로 포션을 각자의 이펙트마다 하나하나 클래스를 만들어 관리하는건 비효율적이라고 생각했습니다.(ex : GrowingPotion, P..
[C#] | 대체 is not은 뭔데
·
개발/C#
개요STA+C를 계속해서 개발하던 도중에 is문을 사용할 일이 있어서 적다가 생각해보니 조건을 반전 시켜야 되더라구요. 괄호로 감싸고 느낌표를 달아주기가 귀찮아서 그냥 장난으로 is not 해봤는데 어라? 이게 있네?    is not은?쉽죠. 그냥 is와 반대되는 연산자입니다.  is에 대한 설명은 이곳으로...https://sundg0162.tistory.com/59 함수를 보면 이러한 부분이 있습니다.is 라... 상당히 낯선 문법입니다.이건 대체 뭘까요?     isis 는 타입 비교 연산자입니다. " data-og-host="sundg0162.tistory.com" data-og-source-url="https://sundg0162.tistory.com/59" data-og-url="https:..
싱글톤 패턴과 정적 클래스에 대해 알아보자.
·
개발
개요다시 시작하게된 STA+C 프로젝트를 진행하며 클래스를 적던 도중 뭔가 굳이 싱글톤이 아니라 정적 클래스로 하는게 더 나아보여서 이 글을 적게 됐습니다. 간단하게 하나하나 짚어볼까요?     싱글톤 패턴이란?클래스의 인스턴스가 프로그램 전체에서 단 하나만 존재하도록 보장하는 구조입니다. 그 인스턴스는 클래스 내에서 정적 변수로써 존재하며 모든 곳에서 접근할 수 있습니다. 예를 들어 플레이어의 현재 골드 등을 저장하는 클래스가 여러 곳에서 동시에 관리된다면 어떤 곳에 있는 골드가 플레이어의 진짜 골드인지 알 수 없게 되기 때문에 큰 문제가 발생하기 때문에 단 하나의 객체만 존재하도록 싱글톤으로써 관리합니다.  안티 패턴(Anti-Pattern)?싱글톤 패턴은 사용하기 매우 쉽고 익히기도 쉽습니다......
[아트] | Untiy 2D URP Rim Lighting
·
기타/아트