번역가 관련 책 받을 수 있는 사이트
UNIXTIME를 일반 date형식으로 표현하기
select to_date(‘19700101090000′,’YYYYMMDDHH24MISS’) + unixtime필드명/86400 as u_time from 테이블명
select to_date(‘19700101090000′,’YYYYMMDDHH24MISS’) + creation_time/86400 as u_time,local_creation_time from OPC_HIST_MESSAGES
sysdate(일반 date형식)를 unixtime 방식으로 표현하기 함수
create or replace function unixtime
return number
is utime number;
begin
select trunc(sysdate – to_date(‘19700101’, ‘yyyymmdd’)) * 86400 – 32400
+ to_char(sysdate,’sssss’) into utime from dual;
return(utime);
end;
String 형 일반 date 형식 넣기 :
to_date(to_char(‘20071224′,’yyyymmdd’),’yyyymmdd’)
UltraEdit-32 와 ctags 사용
==================================================
UltraEdit를 설치한후 ctags (http://ctags.sourceforge.net)에서
ctags.exe를 울트라에디트 설치 폴더에 놓는다.
프로젝트/CTag 옵션에서
-f %fo -R D:\bro\study\u-boot
마지막 인자로 자신의 프로젝트 폴더를 놓으면 된다.
그리고 원하는 심볼에서 F11을 누르면 태그를 찾는다.
태그를 찾고 뒤로 가기 위해서
고급/설정/키정의에서
검색 뒤로 를 Shift+F11로 연결하면 편리하게 쓸 수 있다.
#define MACRO do { printf(“first”); printf(“second”); } while(0)
소스코드를 보다 보면, 위와 같은 소스코드를 볼 수 있습니다.
조건문 if … else … 문에서
중괄호를 사용하지 않는 분들이 위의 매크로를 사용하지 않고,
#define MACRO printf(“first”); printf(“second”);
이렇게 정의된 매크로를 사용한다면,
if( 조건 )
MACRO;
else
printf(“third”);
위와같은 소스코드를 실행할 때, else에서 문법 에러가 납니다.
(illegal else without matching if 에러가 나지요…)
한 문장인것 처럼 중괄호로 묶어주면 되려나?
하고서 아래와 같이 매크로를 정의하면
#define MACRO { printf(“first”); printf(“second”); }
MACRO 뒤의 세미콜론이 문제가 되어 역시 else에서 문법 에러가 나지요…
(역시 같은 illegal else without matching if 에러가 납니다.)
그래서
#define MACRO do { printf(“first”); printf(“second”); } while(0) 식의
do while(0) 매크로를 쓴다고 하네요^^
한 번은 실행되면서, 영역도 구성이 되고, 매크로 상수 뒤의 세미콜론까지 처리할 수 있는
좋은 방법이니까요^^