Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2024/9 »
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

 

'작업공간'에 해당되는 글 3

  1. 2015.02.23 유니코드에서 LPCTSTR->char* 로 변환하기
  2. 2014.12.08 Windows 8 - Maria DB 설치
  3. 2014.03.18 char* -> IplImage 변환하기
 

멀티바이트 형식으로 작성된 소스를 유니코드 형식에서 컴파일할 때, LPCTSTR -> char* 의 형변환 캐스팅에서 에러가 난다. 이를 해결해보자.


그림 1. inet_addr() 의 파라미터는 const char* 데이터 형식을 받는다.


그림 2. 파라미터 값으로 CString(LPCTSTR) 데이터 형식을 집어넣으면


그림 3. 다음과 같이 컴파일 에러가 생긴다. 멀티바이트 환경에서는 문제 없이 형식캐스팅이 되지만, 유니코드 환경에서는 형변환을 해주어야 한다.


CT2A 매크로를 이용하여 형변환을 해준다.

참고로 종류가 여러가지가 있다.

CW2A - WCHAR 를 멀티바이트로 만들 때 사용

CT2A - TCHAR 를 멀티바이트로 만들 때 사용 

CA2T - 멀티바이트를 TCHAR 로 만들 때 사용

CA2W - 멀티바이트를 WCHAR 로 만들 때 사용

그림 4. 다음과 같이 사용하면, 유니코드 환경에서 컴파일 에러 없이 형변환이 가능하다.


:

Windows 8 - Maria DB 설치

작업공간/Database | 2014. 12. 8. 14:35 | Posted by Saul Kim

maria db란?


원문 : http://gywn.net/2012/06/let-me-introduce-mariadb/


mysql 을 유료화 걱정 없이 사용하기 위해 mariadb를 설치해보자.


1. https://downloads.mariadb.org/ 접속하여 최신 버전 다운로드 -> 필자는 MariaDB 10.0 Series 의 ZIP file 을 다운로드하였다.


2. zip file 설치.

설치 방법 : https://mariadb.com/kb/en/mariadb/documentation/getting-started/binary-packages/installing-mariadb-windows-zip-packages/ 참조

커맨드 창을 관리자 권한 실행으로 띄우고 설치 경로\bin 으로 가서

>> mysql_install_db.exe --datadir=디비생성위치 --service=서비스명 --password=패스워드

입력


(실행 성공 화면)

error : cmd 를 관리자 권한으로 실행하지 않으면 Fatal: OpenSCManager() failed: code=5, error= Access is denied. 에러가 뜬다. cmd 를 관리자 권한으로 실행해주자.


3. mariadb 서비스 실행

>> sc start 서비스명

입력


서비스가 정상적으로 실행되었다.


:

char* -> IplImage 변환하기

작업공간/OpenCV | 2014. 3. 18. 14:48 | Posted by Saul Kim

IplImage 구조체 데이터에 직접 char 버퍼의 데이터를 대입한다.


IplImage* _cvt_char_IplImage( unsigned char *pImage, int width, int height ) 

{

IplImage* img = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);

for(int i=0; i<img->height; i++) 

for(int j=0; j<img->width; j++) 

{

img->imageData[ i* img->widthStep + j*3 + 0 ] = pImage[i* img->widthStep + j*3 + 0]; // blue

img->imageData[ i* img->widthStep + j*3 + 1 ] = pImage[i* img->widthStep + j*3 + 1]; // green

img->imageData[ i* img->widthStep + j*3 + 2 ] = pImage[i* img->widthStep + j*3 + 2]; // red

 } 

}


return img;

}


: