본문 바로가기

Programming Logs

(5)
[C++] Is UTF 8 멀티바이트_CP949 -> UTF8을 해야 할 일이 생겼다 내 프로그램은 CP949였고, tgz 파일 압축 해제를 하는데, 내부 경로가 UTF-8인 경우였다 CP949로 읽어드리면 당연히 invalid string이므로 사용할 수가 없다 해당 과정은 (char*)멀티바이트_CP949 -> (wchar*)유니코드 -> (char*)UTF-8 의 과정을 거쳐야 했는데, 그 전에 멀티바이트(CP949)로 읽어드린 문자열이 UTF-8인 경우와 아닌 경우를 가를 수 있어야 했다 여기저기 찾다가 짜증나서 문자열 전체를 검토하는 방식으로 그냥 무식하게 만들었다 아마 여기서도 더 개선을 할 수 있을 거 같은데 빨리 집에 가고 싶어서 일단 점을 찍는다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16..
[Git sourceTree] reference broken sourcetree 를 사용중에 fetch가 안되는 현상이 발생했다 ㅇㄴ 초기에는 stack overflow를 참고하여 시도하였다 1. git gc --prune=now INPUT>git gc --prune=now error: bad ref for .git/logs/refs/remotes/origin/Dev fatal: bad object refs/remotes/origin/Dev FAIL 2. INPUT>mv .git/refs/remotes/origin/HEAD /tmp INPUT> git gc fatal: bad object refs/remotes/origin/Dev error: failed to run repack FAIL 3. INPUT> git remote set-head origin --aut..
unix 시간을 windows의 FILETIME으로 변환하기 tar unpack 과정에서 생긴 일이다 TarHeader 는 512 byte로 구성되어 있는데 내부에 12바이트 크기(char[12])의 modify time(mtime)이 들어있다 이는 unixTime 기반으로 windows에서 바로 사용하기 어렵다 일단 octet이므로 한번 integer 변환해줘야 하며, 이후 변환된 integer를 다시 한번 window time으로 바꿔줘야 한다 아래는 예시 코드이다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #include #incl..
LoadLibrary, FreeLibrary, GetModuleHandle HMODULE hModule = LoadLibrary("ntdll.h") HMODULE hModule = GetModuleHandle("ntdll.h") LoadLibrary ⊃ GetModuleHandle >> LoadLibrary = GetModuleHandle + "LoadCount++" + "Load DLL if Count is zero" FreeLibrary unloads DLL if count is zero else just LoadCount-- * LoadCount belongs to process, means, each process has own module count evenif those are loading same module if process ends : unload modul..
왜 System pid는 1이 아니고 4일까? System PID가 항상 4일까? 하는 호기심에 찾아보다 발견한 글 https://superuser.com/questions/1182187/why-is-system-pid-4-not-pid-1 Why is System PID 4, not PID 1? My Google-fu has failed me! On Linux, the process with the lowest PID is init with PID 1, since it is the first process that gets started after the kernel loads, and is responsible for starting all superuser.com 윗 글에서 0은 idle PID 이므로 가장 먼저 부여할 수 있는 PID는 4라고..