winnt.h 에러


드디어 해결책을 찾았다.


http://yango.tistory.com/3

POINTER_64가 정의되지 않아서 생기는 에러인 듯하다.
winnt.h에 다음 한 줄을 추가하면 해결된다.

#define POINTER_64 __ptr64 // 추가
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

그 외 잡다한 변수선언 관련 컴파일에러들은 Microsoft가 지키지 않던 C++ scope 관련 표준들을 최근에 와서 지킴으로써 발생하는 것들이 많아보인다.
무조건 선언해주도록 하자. -_-

몇 번 씩 당했던 문제들이지만 그 솔루션을 외우고 있지는 않고... 다행인 것은 다시 구글에서 찾는 시간이 매번 조금씩 짧아져간다는 것이다. ㅜㅜ

결국 DirectShow 관련 일은 개발환경 세팅이 반이라는 결론에 다다른다 (뭐 다른 일들도 크게 다르지 않지만).


[2009.2.24 또 당해서 추가함]
VS2005에서 Microsoft DirectX 9.0 SDK (February 2005) 설치 후 BaseClasses 컴파일 시 ctlutil.h에서 C4430 default int 문제가 발생함 - 이것은 각개 격파해야 하는 문제이나, 지난 번의 "C4430 = winnt.h 수정" 학습효과 때문에 한참 헤매다 결국 약 30분 간 의식을 잃음. 다음과 같이 각개 격파하자!

(ctlutil.h)
COARefTime(LONG);
operator=(LONG); // C4430
(LONG)operator = (LONG);

(wxdebug.cpp)
//static g_dwLastRefresh = 0; C4430
static DWORD g_dwLastRefresh = 0;

(outputq.cpp)
//for (long iDone = 0; C2065
long iDone;
for(iDone = 0;

(winutil.cpp)
int Count; // C2065
for (Count = 0;Count < Result;Count++) { // C2065

by Eresse | 2009/06/19 03:01 | 트랙백 | 덧글(0)

winnt.h

basetsd.h

by Eresse | 2009/06/19 02:36 | 트랙백 | 덧글(0)

chkj3000e war validation failed

고친 곳도 없는데, eclipse에서 에러 발생..

web.xml 파일의 이름을 바꾼다음에,

새로운 web.xml 파일을 생성하고, 이전의 파일내용을

그대로 갖다 붙여넣으면 해결된다.

by Eresse | 2009/06/06 17:19 | 트랙백 | 덧글(0)

Class 에서의 멤버함수를 함수포인터로 전달하기

OpenGL을 클래스 환경으로 사용하기 위해서 3시간여의 삽질끝에 컴파일 성공...

class에서 glutDisplayFunc()함수에 전달할 멤버함수를 static으로 지정하여
작성하면 된다.

이유는 static으로 해야 외부에서 메모리에 공간이 할당되어 외부에 접근이 가능하기 때문 등등..

자세한건 나중에 계속..

by Eresse | 2009/05/26 20:00 | 트랙백 | 덧글(0)

NetBeans 는 편리해!

너무너무 편리해!!

인터페이스 너무너무 예뻐!!

아우아우~~ ㅋㅋㅋ

1. Alt + Insert 키보드 단축키로  Getter/Setter 자동입력

2. ..

by Eresse | 2008/08/13 12:15 | 트랙백 | 덧글(1)

옷 개는 방법



옷장정리, ㅋㅋㅋ

by Eresse | 2008/07/19 11:42 | 놀자놀자놀자 | 트랙백 | 덧글(2)

불특정국 호출시 CQ를 쓰는것이 맞는가?

 사용하지 않는 주파수에 자리를 잡고 타 국을 호출하려면
'CQ, CQ, CQ, 여기는 HL0BAC. 수신합니다.'
 하는 식으로 호출을 한다.

 현재 교신상에서도 CQ를 하는것이 보통이며,
KARL 에서 발행한 교양교육교재에 나와있는 사항이기도 하다.

 하지만 오늘 교신에서 다른 의견을 가지고 있는 운용자를 만나게 되었다.
그분 의견에 따르자면 CQ는 비상시에 사용한다는 것이다.
따라서 일반적인 상황에서 CQ를 사용하는것은 잘못된 것이며,
CQ 대신 각국이라는 표현이 옳다는 것이다. 

 즉, 불특정 타국을 호출할 때,
'각국, 각국, 여기는 HL0BAC, 수신합니다.'
라는 식이다.

 해당 의견을 말씀하시며, 주장의 근거로 전파법규를 들었다.

 정확한 해당 법규가 어떤것인지 교신상에서 바로 확인할 수없는 내용이어있고,
Call sign 으로 보았을때 해당 의견을 말씀하시는 분은 선배 OM이 분명하였기에
특별한 의문은 없이 교신을 맺었다. 

 모두가 사용하는 CQ가 틀렸다면 이는 수용하여 고쳐야 할 부분이다.
하지만 그대로 CQ를 사용하는 것이 맞다면 현행대로 해야하며
CQ로 호출하는것이 틀렸다는 의견으로 아마추어 통신상에 혼란을 일으켜서는 안될 것이다.

 이에 관련 법규와 인터넷 의견을 검색하여 보았으며
검색결과, '각국'의 표현이 아닌 현행대로 'CQ, CQ'로 호출하는것이 맞다는 결론을 내렸다.

 따라서 불특정국 호출시 지금까지 널리 쓰이던대로,
'CQ, CQ, CQ, 여기는 HL0BAC. 수신합니다.'
로 하면 되겠다.



관련 법규 및 법규 해석

by Eresse | 2008/07/17 22:56 | HAM | 트랙백(1) | 덧글(11)

Oracle 지정월 형식 변경하기

출처 : http://blog.naver.com/pro20cm/150024755218


TO_DATE('17-DEC-1980', 'DD-MON-YYYY'),  800, NULL, 20)
                       *
3행에 오류:
ORA-01843: 지정한 월이 부적합합니다. 원인을 검색해 본 결과 NLS_DATE_FORMAT이 맞지 않아서 생기는 오류였다. 위의 예제 테이블 생성(sql)에서의 NLS_DATE_FORMAT은  'DD-MON-YYYY' 인데, 시스템의 NLS_DATE_FORMAT은 다른 형식으로 설정되어 있어서 오류가 생겼다.(이 글을 작성한 후 꽤 시간이 지나고 나서 알았지만 위의 오류의 정확한 원인은 아래의 NSL_LANGUAGE 설정 문제였다. NLS_DATE_FORMAT의 설정과는 무관한 문제였다.)

 NLS_DATE_FORMAT의 확인은 다음의 명령어로 알아볼 수 있다.
select sysdate from dual;
  NLS_DATA_FORMAT을 변경하는 방법은 다음과 같다.
alter session set nls_date_format='DD-MON-YYYY';
 이렇게 수정해 주었음에도 불구하고, 에러가 났는데 원인입력하려는 데이터의 DATE 타입은 영문 기준인데, 현재 설정되어 있는 NLS_LANGUAGE가 KOREAN으로 설정되어 있어기 때문이다. DATE 타입이 영문으로 표기하면, 'DD-MON-YYYY' 의 경우 '22-MAR-2007'과 같은 형태가 되지만, 한글로 표기하면 '22-3월 -2007'과 같은 형태가 되기 때문에 오류가 생기는 것이였다. 다음의 명령어로 NLS_LANGUAGE를 AMERICAN으로 변경해주고 나서야 정상적으로 예제 테이블 생성 파일(demobld.sql)을 실행(?) 할 수 있었다.

alter session set nls_language='AMERICAN';

 

- 변환형 함수
TO_CHAR : 숫자나 날짜를 문자열로 변환
TO_NUMBER : 문자를 숫자로 변환
TO_DATE : 문자를 날짜로 변환

- TO_CHAR에서 숫자를 문자로 변환시에 형식에 사용되는 요소
9 : 일반적인 숫자를 나타냄
0 : 앞의 빈자리를 0으로 채움
$ : dollar를 표시함
L : 지역 통화 단위(ex )
. : 소숫점을 표시함
, : 천단위를 표시함
- TO_CHAR에서 날짜를 문자로 변환시에 형식에 사용되는 요소
SCC : 세기를 표시 S는 기원전(BC)
YEAR : 연도를 알파벳으로 spelling
YYYY : 4자리 연도로 표시
YY : 끝의 2자리 연도로 표시
MONTH : 월을 알파벳으로 spelling
MON : 월의 알파벳 약어
MM : 월을 2자리 숫자로 표시
DAY : 일에 해당하는 요일
DY : 일에 해당하는 요일의 약어
DDD,DD,D : 연도,월,일 중의 날짜를 숫자로 표시
HH , HH24 : (1-12) , (0-23)중의 시간을 표시
MI : 분을 표시
SS : 초를 표시
AM(A.M.),PM(P.M.) : 오전인지 오후인지를 표시


TO_CHAR(문자값,‘형식’)
숫자를 문자로 변환 : TO_CHAR(350000,'$999,999')→ $350,000
숫자를 날짜로 변환 : TO_CHAR(SYSDATE,'YY/MM/DD')→ 95/05/25
TO_DATE(문자값, ‘형식’) : TO_DATE('10 SEPTEMBER 1992','DD MONTH YYYY')→10-SEP-92
TO_NUMBER(문자값) : TO_NUMBER('1234')→ 1234

by Eresse | 2008/06/14 14:41 | 데이터베이스 | 트랙백 | 덧글(0)

Oracle 사용자 생성 및 관리

사용자 생성
$ sqlplus system/manager
SQL> create user joe
  2  identified by joe_password
  3  default tablespace system
  4  temporary tablespace temp
  5  quota 1m on system;


생성후 권한주기
SQL> grant create session
to username;

SQL> grant create table
to username;

SQL> grant create view
to username;

SQL> grant create  sequence
to username;

SQL> grant create procedure
to username;


사용자 삭제
SQL> drop user joe cascade;


모든 사용자 보기
SQL>SELECT usernameFROM ALL_USERS

by Eresse | 2008/06/10 03:34 | 데이터베이스 | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶