분류 전체보기(603)
-
[C] 예전 스타일 함수 선언. K&R-Style Declarations
들어가며 동료가 회사 c 코드에서 특이한 걸 발견해서 좀 찾아봤다. 함수인데 인자는 괄호 안에 있지만 인자의 타입은 마치 클래스의 initializer-list와 비슷하게 선언된 형태. int foo(a, b, c) int a; int b; int c; { // some code return 0; } 신기하다. 어떻게 함수가 이렇게 생겼을 수가... K&R Style Declarations identifier-list form 이라 부르기도 하는듯 하다. 현대 C/C++에서 사용하는 방식은 parameter type-list form. C언어가 최초로 나왔을 때, 함수 프로토타입에 대한 스펙이 모호했다고 한다. 전방 선언도 있었지만 이도 리턴 타입에 대한 정의일 뿐 었다고 한다. 그래서 함수 선언 시 인..
2019.07.23 -
[C/C++] shift operator 사용 시 주의
서론 회사에서 pvs 정적분석 툴을 사용하는데 엔진 코드에 shift 연산자에 관한 검출 결과가 많았따. https://www.viva64.com/en/w/v610/ 에러는 shift 연산자를 사용할 때 left, right 피연산자가 음수일 때, right 피연산자가 32를 넘어갈 때 등을 고려하고 있다. 예제 const signed long long test[4] = { 1024
2019.07.19 -
[thead] Spurious wakeup, Condition variable
스터디 중에 나온 용어들인데 잘 정리가 필요한 녀석들 일단 용어 적어두고 정리하자
2019.07.17 -
[git] filename too long
문제 gitk 명령시 해당 에러가 나오고 먹통이 되기도 한다. 원인은 Windows가 예전에 260 자 이상 긴 파일이나 디렉토리를 제대로 지원하지 못 했다고 한다. 관련 REF: https://docs.microsoft.com/ko-kr/windows/win32/fileio/naming-a-file#maxpath 그래서 msys로 컴파일 된 Windows 응용프로그램의 경우 이 예전 API(최대 260자 지원)을 사용하여 발생하는 문제라고 한다. 해결 git config --system core.longpaths true 해당 명령어를 통해 해결할 수 있다. 캐시 삭제 해당 명령어로도 안되서 이곳저곳 찾아봤는데 캐시가 남아있으면 해당 캐시를 제거 해줘야 한다고 한다. 나는 gitk 캐시가 .git 폴더..
2019.07.15 -
[프리코네] 토벌증 대량 교환 팁
설정 방법 모르는 분들이 생각보다 많아서 팁 공유. 이제 10개씩 귀찮게 교환하는 건 끝. 토벌증 교환 화면 > 우측상단 간편 설정 > 100회 스샷으로 보기 우측 상단에 간편 설정 톱니 바퀴를 누르면 된다. 100회로 세팅!
2019.07.12 -
[지름] 뷰릭스 입양기. 뜬금 드릴 역탭 사용기.
어쩌다보니 레트로 게임 참 좋아하는데 이런 기계가 생길 줄이야... 너무 좋다. 용달 배송 용달로 배송이 왔고 무게가 엄청났지만 바퀴가 있어서 이동은 어렵지 않았다. 꽁꽁 속박(?) 당한 우리의 뷰릭스 문제는 여기서부터... 이놈이 엄청나게 커서 문을 아슬아슬하게 통과할 수 없었다. 결국 스틱상판 부분을 분해할 마음을 먹고 아래쪽을 열쇠로 열고 분해를 시작했다. 그런데 분해 과정중에 볼트 하나드릴ㄹ 머리가 아작이 나고 말았다;;; 도데체 얼마나 세게 돌려놓으신 건지.. 아무튼 나사를 뺴기 위한 사투 일단 나의 소중한 드릴 세트를 꺼냈다. 다행히 예전에 사둔 역탭이 있어 어떻게든 뺄 수 있었다. 역탭 사용법 사용법은 어렵지 않다. 시계 반대 방향으로 드릴을 맞추고 사진에서 오른쪽 방향인 뭉뚱한 부분으로 볼..
2019.07.10