c 16

Visual Studio C와 C++ 프로젝트를 Eclipse CDT로 마이그레이션 하기

출처 :http://www.ibm.com/developerworks/kr/library/os-ecl-vscdt/index.html?ca=drs- Migrate Visual Studio C and C++ projects to Eclipse CDTA step-by-step guide to moving Microsoft VS projects to Eclipse C/C++ Development Toolkit Level: Intermediate Priyadarshini Sampath(priyadarshini@in.ibm.com), Staff Software Engineer, IBM India Ramakrishnan Kannan(rkrishnan@in.ibm.com), Staff Software Engineer, ..

Eclipse 2007.02.27

쉽게 구조체를 초기화 하는 방법.

출처 :http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=442 쉽게 구조체를 초기화 하는 방법. 가령 TSample sample; 이라는 구조체 변수가 있다면, 이것을 선언하면 전역영역이나 VCL 자손이라면 자동 0으로 초기화 되겠지만, 로컬영역이면 스택에 생성되 그 값을 보증할 수 없습니다. 그래서 ZeroMemory(&sample, sizeof(sample)); 식으로 선언후에 항상 초기화 코드가 따라 붙습니다. 이거 귀잖습니다. 이 문제는 구조체를 아래와 같이 생성자를 도입해서 해결할 수 있습니다. 예) typedef struct TSample_tag { int a; int b; double c; ; ;..

C C++ 2006.11.10

쓰레드 프로그래밍 초간단 예제

출처 : http://superkkt.com/53 아래는 간단한 쓰레드 예제 코드이다. 쓰레드 프로그래밍을 할때 주의할 점은 각쓰레드간의 동기화와 임계영역 설정 등이다. 그리고 쓰레드 스케쥴링도 신경을 써야 한다. 아래 코드에서 usleep 부분을 주석처리하면 스케쥴링이 안되서 제대로 작동이 안된다. 그리고 두개의 쓰레드가 연관되어서 작업을 하는 경우(아래 예제)에는 서로 신호를 주고 받아서 상대방 쓰레드의 작업 여부를 확인하는것이 좋다. 그렇지 않을 경우 한쪽 쓰레드가 너무 빨리 실행되면 원하지 않는 결과가 나타날수도 있다. 쓰레드 스케쥴링 문제에 관한 문서는 아래 주소를 참조한다. http://www.joinc.co.kr/modules.php?name=News&file=article&sid=133&m..

C C++ 2006.11.10

GNU C compiler에 -ansi 옵션을 주었을때 발생하는 효과

출처 :http://superkkt.com/177 아래 내용은 /usr/include/features.h에서 발췌한 내용이다. 볼드로 처리된 부분이 중요함!! -ansi를 사용하면 __STRICT_ANSI__가 작동하기 때문에 POSIX 확장으로 처리된 부분들이 컴파일시 포함되지 않아서 많은 에러와 직면하게 된다. :-( /* These are defined by the user (or the compiler) to specify the desired environment: __STRICT_ANSI__ ISO Standard C. _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. _POSIX_SOURCE IEEE Std 1003.1. _POSIX_C_SOURCE ..

C C++ 2006.11.10