Programming/openMP2012. 6. 18. 23:17
libgomp 공식 문서 보다는, osc.eud의 문서가 보기 쉽고 정리가 잘 된듯한 느낌.

[링크 : http://www.osc.edu/supercomputing/training/openmp/openmp_0311.pdf]
[링크 : http://gcc.gnu.org/onlinedocs/libgomp.pdf
Posted by 구차니
Programming/openMP2012. 6. 18. 23:00
2C4T 시스템이니 4의 배수로 한번 테스트

parallel for를 통해서 자동으로 나누어 주도록 하면 되는데,
결과를 보면 순서가 틀어져서 나온다. (나누어 실행하되 누가 먼저 실행될진 모르니)
$ cat test.c
#include <stdio.h>
#include <omp.h>

int main(int argc, const char *argv[])
{
    int idx = 0;
    #pragma omp parallel for
    for(idx = 0; idx < 16; idx++)
         printf("%d\n",idx);

    return 0;
} 

$ ./a.out
0
1
2
3
12
13
14
15
4
5
6
7
8
9
10
11 

'Programming > openMP' 카테고리의 다른 글

TBB - Threading Building Blocks by intel  (0) 2013.01.08
openMP 문서들  (0) 2012.06.18
libgomp 공식 사이트 / 문서  (0) 2012.06.10
우분투에서 openMP 예제  (0) 2012.06.09
openMP / gcc -fopenmp  (0) 2012.06.09
Posted by 구차니
embeded/Cortex-M3 Ti2012. 6. 18. 22:52
이름은 거창한데,
간단하게 말하면 잘못 구성된 인터럽트 전송 방식에서의 문제점 이다.

void main()
{
    while(1)
        uart_handler();
}

void uart_handler()
{
    if(send != recv) flush();
}

대략 이런 구조에서 단순하게 send와 recv로 전송할 데이터가 있는지만 확인하고
flush()를 이용해 uart tx finish interrupt를 통해 데이터를 지속적으로 보내려고 할경우
uart_handler()에 의해 루프를 도는중 지속적으로 flush를 함으로서 데이터가 몇바이트 깨지거나
순서가 바뀌는 것 같은 문제가 발생하기도 한다.


간단하고 당연한(?) 해결책은
전송이 시작되었고 전송중이라는 플래그를 두는 것. 
Posted by 구차니
워낙 가까우니 배가 출항해서 들어가는데 까지 5분 밖에 안걸리는 단거리 코스


'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

구름 태양 하늘  (2) 2012.08.08
하늘  (2) 2012.08.01
그렇게 냥덕후가 되어가는 거야  (2) 2012.06.17
무의도 워크샾  (0) 2012.06.17
앙증맞은 손  (0) 2012.06.10
Posted by 구차니
무의도에서 나오다 장진도에서 본 새끼 고양이 두마리.


무의도에서 밤새 놀아준 고양이



'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

하늘  (2) 2012.08.01
무의도 -> 장진도  (2) 2012.06.17
무의도 워크샾  (0) 2012.06.17
앙증맞은 손  (0) 2012.06.10
암호  (0) 2012.06.10
Posted by 구차니
처음 타본 차를 태울수 있는 배


잠진도 선착장(출발)


닭둘기와는 다르단 말이다! 폼 함껏 잡고 던져주는 새우깡도 못 먹는 갈매기들 -_-


무의도 선착장(도착)


무의도에 오신것을 환영합니다!
+ 마을버스가 봉고라니!!!


실미 해수욕장 해안가.
이쪽에서 실미도 영화를 찍은듯 하다.



돌아오는 길에 보이는 주우면 아주 좆될것 같은 바로 그 것!


나갈때는 좀 다른 폼나는 배


버스잡으러 걸어 나오는 길에 찍은 갯뻘



'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

무의도 -> 장진도  (2) 2012.06.17
그렇게 냥덕후가 되어가는 거야  (2) 2012.06.17
앙증맞은 손  (0) 2012.06.10
암호  (0) 2012.06.10
가짜 잼. 진짜 쨈  (0) 2012.06.10
Posted by 구차니
Programming/C Win32 MFC2012. 6. 14. 22:59
엔디안은 "메모리에 저장되는" 바이트의 순서를 의미한다.
"메모리에" 라는것이 매우 중요한데

HDD와 같은 녀석은 bit stream 처럼 어떻게 보면 big endian 처럼 저장되며
cpu 레지스터에서도 일단~은 big endian 처럼 보인다.

유일(?)하게 영향을 받는게
메모리에서 내용을 받아와 다른 형(type)으로 변환하는 경우인데
어셈블리 언어로 이야기 하자면 mem to register 명령에 영향을 미친다고 하면 되려나?

아무튼 프로그래밍을 5년 넘게 현업으로 하고 있지만
정말 제대로 엔디안을 아는게 아닌게 아니었구나 라는 생각이 문든 드는 화두..
"비트 쉬프트 할 경우 정말 실제로는 어떻게 작동할 것인가?"
요 녀석에 멘붕을 느끼는중

[링크 : http://www.terms.co.kr/big-endian.htm ]
[링크 : http://ko.wikipedia.org/wiki/엔디언 ]

[링크 : http://www.ibm.com/developerworks/kr/library/au-endianc/index.html ] 
Posted by 구차니
개소리 왈왈2012. 6. 14. 13:20
난 전투기가 좋은데 매형은 민항기를 좋아해서
큰맘먹고 정품 DVD 사주고는 돌아가는거 사양 테스트 하고 그런다고 쑈하는중 -ㅁ-

아무튼 생각외로 그래픽이 떨어져서 이것저것 찾아보다보니
tile proxy 라고 구글 지도라던가 이런 실시간 지도를 끌어 오기도 하고 고해상도로 끌어오기도 하는게 있고
사용자들이 직접 만든 지도도 있어서 그걸 받아 해상도를 끌어 올릴수 있는듯 하다.

[링크 :  http://sourceforge.net/projects/tileproxy/]
[링크 :  http://fsxscenery.tistory.com/60 ] 

[링크 :  http://msdn.microsoft.com/en-us/library/cc707102.aspx ] tmfviewer

'개소리 왈왈' 카테고리의 다른 글

아으! 음악을 모르겠따!!!!  (0) 2012.07.06
하고 싶은것 갖고 싶은것  (2) 2012.06.24
생각을 정지합니다. 으아 안되잖아  (4) 2012.06.11
엇 네이트온 메모짱이!  (6) 2012.06.01
"사람을 때리면 안돼"  (0) 2012.05.20
Posted by 구차니
아이디어!2012. 6. 13. 11:43
멀리서 친구를 만나는데 어디쯤이 중간 지점인지 이동시간 대비 / 거리 대비로 찾아주는 어플이 있으면 쓸만하려나?
추가적으로 집으로 돌아가기 편한 버스/지하철 경로 그리고 놀곳(먹을 음식 분류 - 소 / 돼지 / 닭 / 생선?)을
고르면 똬~악 하고 나오면 편하겠는데 말이야 ㅋㅋ 

'아이디어!' 카테고리의 다른 글

모터 드라이브 통신용 데이터 구조체  (0) 2012.09.08
지능형 카메라  (0) 2012.09.07
아이폰 TTS 기능을 이용한 피싱  (0) 2012.02.21
디카에 108Mbps 무선랜을 달면?  (2) 2011.10.20
inverse - synergy  (0) 2011.10.09
Posted by 구차니
Programming/C Win32 MFC2012. 6. 12. 14:14
부제 : 아오 미네랄 써글넘의 localtime()

localtime() 함수는 struct tm * 형을 리턴하는데
다르게 말하면, glibc나 library 내의 변수의 포인터를 리턴하는 식이 되는지라 매번 할당해서 돌려주는게 아니라는 의미.
즉, 연속으로 localtime을 사용해서 포인터로 받는다면, 당연히 동일 주소 동일 내용이 되므로
조건식 비교에서 항상 참이 될 수 밖에 없다 -_-

struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *result);

POSIX.1-2001 says: "The asctime(), ctime(), gmtime(), and localtime() functions shall return values in one of two static objects: a broken-down time structure and an array of type char. Execution of any of the functions may overwrite the information returned in either of these objects by any of the other functions." This can occur in the glibc implementation.

[링크 : http://linux.die.net/man/3/localtime ]   


그런 이유로 아래와 같이 복사하거나, 처음부터 포인터가 아닌 값으로 받아 변수에 넣도록 해주는 것도 방법인데
오홍.. 아래 방법은 당연한 문법이지만 왜이리 생소해 보일까? ㅋㅋ

struct tm stTempTime;
pstCurTime = localtime(&lCurTime);
memcpy(&stTempTime, pstCurTime, sizeof(struct tm));

는 간단하게
struct tm stTempTime = *localtime(&lCurTime);

[링크 : http://kldp.org/node/71959 ]  

'Programming > C Win32 MFC' 카테고리의 다른 글

c 변수범위 헤더  (0) 2012.07.02
엔디안 / endian  (2) 2012.06.14
C언에 이스케이프 문자를 이용한 특수문자 출력하기  (0) 2012.03.28
함수 포인터 배열  (0) 2012.03.07
헐 # include 이게 되는거였다니!  (0) 2012.02.15
Posted by 구차니