본문 바로가기

Programming60

윈도우즈 API - 윈도우 창 윈도우 클래스의 종류 1) 시스템 전역 클래스 : 운영체제에 미리 등록되어 있는 윈도우 클래스이다. (컨트롤, 메뉴, 대화상자 등..) 2) 응용 프로그램 전역 클래스 : 주로 DLL에 의해 등록되며 여러 프로그램에서 공유할 커스텀 컨트롤을 만드는데 사용. 3) 응용 프로그램 로컬 클래스 : 응용 프로그램 자신의 메인 윈도우, 차일드 윈도우, 커스텀 컨트롤을 만드는데 사용. 윈도우즈 API프로그래밍에서 윈도우를 만드는 순서를 살펴보면 다음과 같다. 1. 윈도우 클래스를 만든다. (WNDCLASS) WNDCLASS는 총 10개의 멤버로 구성되며 중요한 멤버 3가지를 살펴보자. - lpszClassName : 등록하고자 하는 윈도우 클래스의 이름 - lpfnWndProc : 메시지 처리 함수 지정. - hI.. 2012. 8. 15.
sbrk(), brk() 함수 malloc(), new() . . . 시스템 콜 -> brk() - sbrk() 데이터 세그먼트의 영역을 넓혀준다. (세그먼트 끝을 연장) - man 페이지 -BRK(2) Linux Programmer's Manual BRK(2) NAME brk, sbrk - change data segment size SYNOPSIS #include int brk(void *addr); void *sbrk(intptr_t increment); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): brk(), sbrk(): Since glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || (_XOPEN_SOURCE >= 5.. 2012. 8. 6.
c언어 - 확장 유클리드 알고리즘 확장 유클리드 알고리즘이란? 정수 m, n의 최대 공약를 gcd(m, n)으로 나타낼 때 1. 확장된 유클리드 호제법을 이용하여, am + bn = gcd(m,n)의 해가 되는 정수 a, b 짝을 찾아낼 수 있다. 2. 특히, m, n이 서로소(gcd(m,n) = 1)인 경우 유용한데, 그럼 위의 식은 am + bn = 1이 되고, 여기서 a는 모듈러 연산의 곱의 역원(modular multiplicative inverse)이 되기 때문이다. 등식 : s*m + t*n = gcd(m, n) r = r1-q*r2 --> r1 = q*r2 + r //초기 r1, r2는 (m, n)이고 q는 몫 r은 나머지 s = s1-q*s2 //초기 s1, s2는 1, 0이다. t = t1-q*t2 //초기 t1, t2는.. 2012. 5. 26.
c언어 - 유클리드 알고리즘 유클리드 알고리즘이란? - 두 양의 정수들에 대한 최대 공약수를 찾아내기 위한 알고리듬 등식 : gcd(a,b) = gcd(b,a mod b) ex) gcd(44, 12)=gcd(12, 8) = gcd(8,4) = gcd(4,0) = 4 44와 12의 최대 공약수 -> 4 c언어 소스 #include #include int Euclid(int num1, int num2); int main() { int num1, num2, gcd; printf("두 정수를 입력하세요 : "); scanf("%d %d", &num1, &num2); if(num1 > num2) gcd = Euclid(abs(num1), abs(num2)); //절댓값으로 넣음 else gcd = Euclid(abs(num2), abs(nu.. 2012. 5. 26.