- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록Linux_C (7)
드럼치는 프로그래머
WinCE환경에서는 time()함수가 없어서(동작하지 않아서, 컴파일되지 않아서..) 자료를 찾다가 보니까.. 다음과 같은 사이트에서 잘 설명하고 있다(WinCE time()). 그 내용을 보면 다음과 같다. #ifdef _WIN32_WCE #include // time.h 를 include 해도 Windows CE에서는 time 함수가 작동하지 않는다. // 별도로 구현한다. time_t time(time_t *inTT) { SYSTEMTIME sysTimeStruct; FILETIME fTime; ULARGE_INTEGER int64time; time_t locTT = 0; if ( inTT == NULL ) { inTT = &locTT; } GetSystemTime( &sysTimeStruct );..
sleep(int seconds) : sleep()의 정수는 일반적인 초를 나타냄. 즉 sleep(10)하면 10초후에 다음 작업을 수행. usleep ( int micro_seconds ) : usleep()의 정수는 micro초를 나타냄. 즉 usleep(1)하면1/1000000초를 나타냄. usleep(1000000)하면 1초후에 다음 작업을 수행. usleep은 보다 정밀한 sleep()을 위해서 사용하는 함수. [출처] http://blog.naver.com/hajiheon?Redirect=Log&logNo=19409871
Window GetTickCount 처럼... unsigned int GetTickCount() { struct timeval gettick; unsigned int tick; int ret; gettimeofday(&gettick, NULL); tick = gettick.tv_sec*1000 + gettick.tv_usec/1000; return tick; } [출처] http://blog.naver.com/PostView.nhn?blogId=hyunaa1&logNo=30113022065
linux에서 timer를 사용하기 위해 만들어본 class입니다. :) 각 파일 내용은 첨부파일이나 아래 내용을 참고하세요. main.cpp는 구현한 API를 이용해서 만들어본 예제 프로그램입니다. [ 총 4개 API ] - create_timer(): timer manager 생성 - set_timer(): timer 추가, 다수의 timer 추가 가능 - delete_timer(): set_timer()로 추가한 timer 삭제 - destroy_timer(): create_timer()로 추가한 timer manager 삭제 [ 컴파일 예시 ] g++ -o sample main.cpp Timer.cpp -lrt > Timer.h └ 접기 > Timer.cpp └ 접기 > main.cpp └ 접기
여기서 구현하고자 하는 Timer는 단순히 현재 시간을 얻어오려는 함수가 아니라 일정 시간마다 특정한 함수를 수행하게 해주는 Timer를 말한다. Windows의 onTimer 함수처럼 말이다. Linux에서도 onTimer와 같은 함수를 쉽게 만들 수 있는데, 아래와 같이 구현하면 된다. #include #include #include void StartTimer (timer_t timerid, void (*Func)(int), long nsecInterval) { struct itimerspec value; struct sigevent av_sig_spec; av_sig_spec.sigev_notify = SIGEV_SIGNAL; av_sig_spec.sigev_signo = SIGRTMIN; val..
/* n개의 프로세스 체인을 만드는 프로그램, n은 커맨드라인 인자로 받음 simplechain.c */ #include #include #include int main(int argc, char **argv) { pid_t childpid = 0; int i, n; if( argc != 2) { fprintf(stderr, "Usage : \n", argv[0]); return 1; } n = atoi(argv[1]); for( i=1; i
fork함수는 fork함수를 호출하는 순간! 자식 프로세스가 생성이 됩니다. 그래서 간편하게 프로세스를 만들때 fork를 씁니다. 그런데... 언제 끝나는지 알 수 있을까요? ^.^ 뭐 안다면 아는 방법은 많지만... 이번에는 wait를 써서 알아볼까 합니다. 1 #include 2 #include 3 #include 4 5 int main(int argc, char **argv) { 6 pid_t pid; 7 int data = 10; 8 int status = -111; 9 10 if (data == 10) 11 { 12 pid = fork(); //fork 함수 호출!! //자식프로세스에서 이 아래의 내용이 실행됩니다! 13 if (pid == 0) //자식프로세스는 pid가 0입니다. 14 { 1..