신준철의 프로그래밍

c++이야기. 멀티스레드와 파일(fstream) 다루다가 빡친 경험

By  | 2017년 5월 11일 | 
하나의 파일을 처리하는 하나의 객체가 있다. 더 빨리 처리하기위해 파일을 a라고 하자, a파일을 n개의 영역으로 나누고, n개의 스레드에 각각 객체를 만들어서 영역을 배정했다.(편의상 a파일을 그냥 파일이라고 부르기도 하겠다.) 각 스레드는 하나의 객체를 가지며, 그 객체는 그 스레드에서 자기 영역을 처리하면 된다. 추가 스레드에서 파일에 직접 접근하는 것은 아니다.내가 아는한 a파일에 접근하는 것은 메인 스레드 뿐이다.메인스레드가 a파일의 내용을 변수로 읽어 들이면, 객체들이 그 변수를 처리한다. (a파일에 대한 읽기나 쓰기 권한을 가지는 것은 오직 메인스레드 뿐이다.) 우선 스레드를 생성하고, 스레드안에서 객체를 생성했다. 모든 스레드가 초기화가 끝나면, 메인스레드가 파일을 열고 읽어들여서

c utf8 iconv 에서 변환 불가 처리 방법

By  | 2019년 4월 2일 | 
- utf8에서 한 글자가 몇 바이트 차지하는지, 그 글자의 끝은 어디인지 아는 방법 1 2 3 4 5while ( (*in_ptr & 0xc0) == 0x80) { in_ptr++; in_bytes--; } utf8의 포맷을 이해하면 위 코드를 다양하게 응용할 수 있다.스트링의 끝에 도달해서 널문자를 만나도 적절하게 while 중단을 해줄 것. - utf8을 cp949로 바꾸면서 utf8에 없는 것을 ?로 바꾸는 함수(글자 하나당 하나의 ?로 바꾼다. utf8이 글자는 1개여도 가변길이로 여러 바이트를 써도 1개의 물음표로 처리한다. ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1

울산에도 가우리가 생겼네!

By  | 2016년 12월 3일 | 
요기에도 글이 있네요. http://bbs.ruliweb.com/hobby/board/600001/read/71 친구들이 피규어랑 건담 이런것들 보러 가자고해서 같이 가봤는데 기대했던 것 보다 훨씬 물건 수준이 높고 많네요. 저랑 친구들은 특히 엑스맨이나 스타워즈 같은 계열보다는 일본쪽에서 나온 것들을 좋아하는데 그런 부분에서 취향이 맞았나 봅니다. 저는 피규어는 취미가 없지만 친구들 따라 갔다가 이것저것 신기한 것들을 보고 왔네요. 개인적으로는 요츠바랑에 후카가 마음에 들었는데...음..구매할지는 다시 생각좀 해봐야겠어요.후카는 다른 여성캐릭에 비해 몸매가 그다지 좋지 않고 현실적이랄까... 그런걸 그대로 구현했더군요.아마 이런거였던걸로 기억 : http://pds6.egloos.com/pds/

java와 c++ 를 위한 JNA에서 wstring 사용하기

By  | 2016년 11월 29일 | 
java에서 c++함수를 어떻게든 써보려면 JNI를 사용하게 되는데 JNI가 얼마나 구린지 당하고 나면 JNA가 써보고 싶어진다.그런데 JNA라고 마냥 쉬운건 아니다. 일단 JNA가 C++이 아닌 C를 대상으로 설계되어서 string과 wstring을 바로 쓸 수 없다.당연히 const wchar_t* 를 이용해야 한다. 과정이 상당히 긴데 하나씩 기록을 위해 남겨본다. 1. cpp에 함수가 존재한다고 가정한다. 예로wstring func(wstring s){ return s+ L" hello"; } 2. func를 c스타일로 랩핑해야한다. 대충 하자면wstring tmp;const wchar_t* func_c(const wchar_t *p){ tmp = func(p); return tmp.c_str

보조지표를 프로그래밍하고 판매하게 되었네요

By  | 2017년 8월 21일 | 
보조지표를 프로그래밍하고 판매하게 되었네요
트레이딩뷰 라는 사이트가 있습니다. 트레이딩뷰 이용 방법 주식이나 가상화폐(암호화폐) 차트를 보는 사이트인데요. 거기에 각종 보조지표들이 있고, 또 그걸 이용자가 만들어서 사용할 수도 있더군요. 그리고 어떤 보조지표들은 유료입니다. 저도 프로그래머라서 트레이딩뷰(이하 트뷰)에서 제공하는 지표 만드는 언어를 익혀서 지표들을 만들어 보다가.... 어느세 유료지표를 팔고 있습니다 ^^ 신호등이라는 지표인데요 이렇게 생겼습니다. 저기서 중앙에 흰색 빨간색 녹색 등이 보이는 것이 신호등입니다.차트는 비트코인 한국KRW 차트입니다. 일봉이구요. 현재 471만원이군요.제가 처음 살 때는 138만원 이였는데...와우! 신호등 지표 링크 :그리고 신호등 사용법 피피티 이걸 만들