Vulkan 한글 위키에서 글쓰기에 사용될 어플리케이션을 만들기 위해서는 DB에 접근을 해야하고 그런 이번에 새로운 시도를 위해 웹 상에서 글쓰기를 하는것이 아닌 어플리케이션에서 DB와 연동을 하여 만들어 보기로 하였는데, 예전에 해본 Qt 로 진행해보려고 하던중 Qt 에서 DB와 연동하기 위한 코드는 다음과 같다.QSqlDatabase::addDatabase("QMYSQL") 코드가 어떤 DB와 연동할지 해당 클래스에게 넘기는 것인데 QMYSQL의 경우 MYSQL과 연동하겠다고 알리는 것이다.그런데 이 코드를 실행하면.다음과 같이 유저 네임과 비밀번호가 같더라도,MySQL과의 연결이 계속 실패한다.이는 MySQL의 DLL파일이 없어서 모듈을 로드 할 수 없는 것인데, 이를 위해 MySQL DLL 파일을..
저번에 Vulkan을 이용한 프레임 워크 제작을 한다고 했었는데 시간이 꽤 지난 그저께 부터 제작을 시작했다.사실 예상하던 속도보다 많이 느린편이여서 오히려 내가 당황스러울 정도이다..C#을 하다가 오랫만에 C++으로 코딩을 해보니 너무 언어가 복잡해서 눈에 잘 안들어 오기도 하고, DirectX와는 느낌이 많이 다르다.DirectX는 지금 생각해보면 추상화가 많이 되어 있어서 내가 GPU에 대해 잘 생각하지 않아도 잘 코드를 작성 할 수 있었는데(OpenGL은 GLFW를 사용하여 해봤었다.) Vulkan은 그래픽 카드에 많이 관여가 된 API인거 같다. 그래서 GPU의 구조를 공부하면서 코드를 작성하고 있다.그리고 동시에 Cocos2D-x 하고 잡다한 오픈소스 프레임워크만 뜯어봐서 한번 어떤 구조로 코..
예전부터 코코스, 언리얼 소스를 뜯어보나, 아니면 다른 오픈소스 엔진을 뜯어보다 보면 한번씩 #define foo(X) do{ ... } while(false) 문을 사용하는 것을 많이 봐왔는데. 이제 도저히 이게 뭔지 궁금해서 직접 구글에 검색해서 찾아 보았다. 만약 이런 매크로 함수가 있다고 한다면1234#define DoSomething(X) printf("Hello!"); if(A) DoSomething(2);cs전처리 과정을 거치고 난다면 다음과 같이 될 것이다.12if(A) printf("Hello!");cs이러면 우리가 의도한 대로 됬지만 만약 다음처럼 전처리문이 2줄 이상이라면 어떻게 될까?1234567#define DoAction(X) \ printf("Hello!"); \ do_othe..
하라는 공모전 안하고 방학이라고 열심히 해보고 싶던거 하고 있다.오늘은 언리얼 엔진 사용방법하고 Vulkan 한글 위키 만드는 작업을 시작하였다.언리얼 엔진을 공부하게 된 계기는 평소에 사용해 보려고 했기도 했고 Vulkan으로 엔진을 만들어 보기 전에 한번 다른 엔진들과 무엇이 다른가 비교해봐서 어떤 구조로 짜야 좋을까 차원에서 + 트렌드로 한번 쭉 써보고 있는데, 확실한건 써본 엔진중에서는 언리얼 엔진이 최고 인거 같다. 그리고 열심히 Vulkan 한글 위키 만들어 보고는 있는데, 영 한번도 해보지도 않은 실전 웹 사이트를 만드려고 하니 앞길이 막막하다. 현재 twitter bootsrap을 이용하여 만들고 있는데 내가 디자인 실력과 경험이 꽝이여도 어느정도의 비주얼을 보장해줘서 못 볼정도는 아닌거 ..
예전에 PHP와 자바 스크립트, 그리고 데이터베이스에 대해 공부를 잠깐 한 적 있는데그냥 문법만 쓱 보고 지나가서 대충은 기억하나 제대로 활용할 줄은 모르는 그런 상황이었는데최근에 Vulkan을 공부하면서 레퍼런스 페이지를 보는데 다 영어에다가 레퍼런스 페이지가 참 복잡하게 되어 있다.그래서 떠오른게 예전에 기능경기대회 준비하면서 Direct9을 공부하고 있었는데 Direct9은 정보도 별로 없어서 이런 저런 정보를 끓어 모으던중 꽤나 유명한 사람들(포프님, 류광님, 유명한 분들..)이 레퍼런스 페이지를 만들어서 직업 Direct9 에 있는 구조체, 함수들을 번역하고, 검색해서 찾을 수 있는 사이트가 있어서 꽤나 많은 도움을 받았다.그래서 아직 Vulkan이 국내에 활성화가 완전히 안된거 같기도 하고(물..
2017/07/18 - [OS] - 64Bit OS 만들기 Windows Ubuntu Bash 셋업 - 1 저번에는 우분투 bash 켜는 법이였고. 이번에는 우분투 bash로 개발 환경 셋팅입니다.우분투 bash로 개발할 툴들은 GCC 컴파일러와 vim 편집기 nasm 입니다. 먼저 C를 컴파일 하기 위한 GCC를 확인 해보니 gcc가 설치 되어 있지 않다고 합니다.gcc를 설치하기 전에 먼저 apt-get update와 apt-get upgrade를 진행합니다.그러면 종합 개발 환경을 설치해주는 apt-get install build-essential을 설치합니다.그러면 간단한 테스트 소스 코드를 작성하기 위해 vim으로 작성합니다.작성후 저장 및 나가기32비트 컴파일과 64비트 컴파일이 되는지 확인하..
최근 공모전으로 바쁘게 생활하고 있어 OS 진척이 아직도 키보드 드라이버 에서 멈춰서 진행이 안되고 있는데, 사실 요즘 Vulkan 그래픽 API에 꽂혀서 열심히 튜토리얼 문서를 번역하고 있어 나중에 엔진을 따라 만들면서 API를 설명 하려는 강좌를 진행하려고 합니다.쩃든 본론으로 들어가서OS제작 공부를 하면서 Windows OS로 진행을 하기 위해 Cygwin을 설치하여 진행을 했는데, 사실 Cygwin은 불편한 점이 여간 한 두개도 아니고 싫어 하는 사람도 꽤 많더라고요.그러다가 작년 이맘때쯤 Windows에 네이티브로 Linux 쉘이 도입된다는 소식을 듣고 한 번 체험을 해봤는데 꽤나 괜찮던 기억이 있고 지금도 계속 업데이트 되고 있어 Ubuntu의 네이티브적 기능이 점점 늘어 나고 있더라고요 그래..
팀프로젝트를 진행하던중 맵 데이터와 플레이어 데이터에 대한 간단한 포맷을 만들고 그에 대한 스크립트를 작성중 한 가지 문제점과 의문점이 생겼다.그것은 아무런 글이 적혀 있지 않은 빈 줄과 즉 str == ""과 str == null은 같을까? 라고 생각했다.이 글을 작성하던중 한 가지 생각이 더 떠올랐다. 아무것도 적혀 있지 않은 빈 줄은 "\r\n" 또는 "\n" 값이 들어 있다는 사실을...그러므로 아무것도 적혀 있지 않은 빈 줄은 "" 가 아닌 "\r\n" 또는 "\n"이 되는 것이다! 아무것도 적혀 있지 않은 빈 줄이 ""가 아닌 사실은 알아냈다 하지만 그래도 남아 있는 궁금점 str == "" 과 str == null은 같을까? 간단하게 코드를 작성하여 확인 해보았다. 만약 ""와 null이 같..
안드로이드라는 카테고리를 하나 개설해서 안드로이드에 관한 내용을 정리 하려고 합니다!지금 학교 전공 과제에.. 64비트 OS 만들기에 그리고 시작도 못하고 간만 보고 있는 게임스크립트 제작기...그럼에도 불구하고 이렇게 안드로이드 프로그래밍에 대한 내용을 올리는 이유는!....친구들이랑 함께 안드로이드 앱을 만드는 공모전에 참가 하게 되어 평소 사용하는 크로스 플랫폼 게임엔진이 아닌 직접 안드로이드 스튜디오 + JAVA를 이용한 프로그래밍을 할 생각입니다. 전 사실 안드로이드 스튜디오 + JAVA를 이용한 프로그래밍은 처음이 아닙니다.1학년 1학기 포럼 당시에 libGDX라는 게임제작용 프레임워크를 사용했는데 꽤나 좋은 프레임 워크 입니다.그때 당시에는 안드로이드만 되는줄 알았는데 크로스플랫폼 프레임 워..
2017/06/01 - [OS] - 64Bit OS(Operating System, 운영체제) 만들어 보기 - 1 셋업2017/06/03 - [OS] - 64Bit OS 만들어 보기 - 2 운영 모드의 종류 이번 포스팅에서는 몇가지 운영모드에서 사용하는 레지스터들을 알아보도록 하겠습니다. OS를 개발하는 관점에서 운영 모드는 크게 16비트 , 32비트, 64비트 모드로 나눌 수 있는데 앞에 붙은 숫자는 레지스터의 크기와 비례합니다.아래의 사진은 각각 보호모드와 IA-32e 모드에서 사용하는 레지스터들 입니다.(보호모드 레지스터)(IA-32e 모드 레지스터)x86-64 프로세서에는 위의 사진과 같이 많은량의 레지스터가 있지만 OS를 개발하는데에 가장 큰 비중을 차지하는레지스터는 범용 레지스터, 세그먼트 레..