윈도우즈 디바이스 드라이버 개발 방법
윈도우즈 디바이스 드라이버 개발 방법 디바이스 드라이버 개발을 처음 시작하시는 분들이 가장 많이 하시는 질문은 ” 디바이스 드라이버를 개발하려면 무엇을 어떻게 공부해야 하나요 ? ” 라는 것이다 . 일반 애플리케이션 프로그램 개발을 시작하는 경우에는 자료도 많고 , 주변에 개발자들도 많아서 공부 방법이나 자료들을 쉽게 접할 수 있는데 , 디바이스 드라이버 분야는 개발자들이 많은 분야도 아니고 […]
윈도우즈 디바이스 드라이버 개발 방법 디바이스 드라이버 개발을 처음 시작하시는 분들이 가장 많이 하시는 질문은 ” 디바이스 드라이버를 개발하려면 무엇을 어떻게 공부해야 하나요 ? ” 라는 것이다 . 일반 애플리케이션 프로그램 개발을 시작하는 경우에는 자료도 많고 , 주변에 개발자들도 많아서 공부 방법이나 자료들을 쉽게 접할 수 있는데 , 디바이스 드라이버 분야는 개발자들이 많은 분야도 아니고 […]
윈도우 디바이스 드라이버 개발환경 구축 디바이스 드라이버가 처음이신 분들이라면 , 아직 개념 및 용어 이해에 어려움이 있었을 것으로 본다 . 그것은 아마도 실제 개발을 해보지 않은 상태에서 이론적인 내용만 가지고 이해하려다 보니 어려웠을 것으로 보인다 . 그래서 , 이번 컬럼에서는 디바이스 드라이버를 실습해 볼 수 있는 개발 환경 구축에 대한 내용을 다뤄 보도록 하겠다 .
1. JDK를 설치한다. 2. PATH에 C:\Program Files\Java\jdk1.6.0_12\bin 을 추가한다. 3. CLASSPATH=C:\Program Files\Java\jdk1.6.0_12\lib\tools.jar 환경변수 추가 4. tomcat 설치 5. mysql 설치 6. mysql-connector-java-x.x.x-bin.jar 다운로드 7. mysql-connector-java-5.0.7-bin.jar -> c:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\ 에 복사 8. Tomcat 5.5/conf/server.xml에서 <Service name=”Catalina”>~</Service>밑에 아래와 같이 호스트별로 추가시켜 준다. <!– localhost 호스트 추가 (기본적으로 있음) –>
MySQL 은 기본적으로 동시 접속수가 500 connection 이하에 최적화가 되어 있다. MySQL 홈의문서 중 http://www.mysql.com/doc/L/i/Linux.html 문서에 의하면, 500 connection 이상을 설정 할 경우 glibc 의 linuxthreads 에 패치를 하지 않았을 경우 상당히 불안하다고 보고 되고있다. 이 문서에서는 이 문제에 관한 부분을 언급하게 된다. 동시 접속수 500 이상을 위해서는 일단glibc 를 리빌드해야 하며, 재컴파일된 libpthread.a 를
MySQL 동시 접속수 500 이상으로 늘리기 더 읽기"
HTML에 JavaScript 삽입<script language=”javascript”>JavaScript Statements</script> HTML에 JavaScript 코드 파일 삽입<script language=”javascipt” src=”src.js”></script> 변수의 대소문자 구분 변수에 포함된 데이터의 형을 지정하지 않고, JavaScript 인터프리터가 변수에 포함된 데이터 형을 추적하고 변환. JavaScript 데이터 형 숫 자 형 : 정수와 부동 소수 BOOLEAN : true, false STRING : 작은 따옴표나 큰 따옴표에 들어가 있는 값으로, 특수문자 포맷 사용시에는
리눅스 네트워크 프로그래밍2부:데몬 프로세스 생성하기 글/ Ivan Griffin과 John Nelson 역/ 이기동(자유기고가) 데몬 프로세스는 여러 클라이언트에 서비스하기 위해서 백그라운드로 실행되는 서버이다. 여러분은 데몬 프로세스를 생성할 때 다음과 같은 몇 가지 사항에 주의하여야 한다. 개발하는 동안 디버깅할 때 printf나 write를 사용할 수 있도록 서버를 포그라운드로 실행하는 것이 좋다. 또한, 서버가 오동작 한다면 중단 문자(보통 CRTL-C)를 보내어
목차 Copying Conditions. Introduction to GNU dbm. List of functions. Opening the database. Closing the database. Inserting and replacing records in the database. Searching for records in the database. Removing records from the database. Sequential access to records. Database reorganization. Database Synchronization Error strings. Seting options. File Locking. Two useful variables. Compatibility with standard dbm
출처 : http://binnamoo.com/626 공간지정태그에는 DIV, SPAN, FIELDSET 3가지 종류가 있다. 비슷한 태그로서는 TABLE 태그가 있다.하지만 TABLE은 하나의 공간을 표현하기 위해 TR, TD로 나누어 표현하지만, DIV, SPAN, FIELDSET은 바로 보여지고 표현되는 것이 특징이다. DIV, SPAN, FIELDSET 태그 모두 특별한 속성은 없으며, style속성에 따라 형태가 달라진다. ▶ DIV, SPAN, FIELDSET 공통점 – 특별한 태그 속성이 없음
일반 정보와 개념 이 FAQ에 대하여 누구를 위한 FAQ 인가? 소켓은 무엇인가? 소켓은 어떻게 작동하는가? 책에 있는 소스코드를 구할 수 있는데가 있는가? 또 다른 정보들은 어디에서 구할 수 있는가? 클라이언트와 서버 양쪽에 관한 질문 (TCP/SOCK_STREAM) 언제 상대방쪽 소켓이 끊겼는지 알 수 있는 방법이 있는가? bind()의 두 번째 파라메터는 무엇인가? 주어진 서비스의 port번호를 얻는 방법은? bind()
네트워크 스택과 통신 프로토콜 역시 엔디안 방식을 정의해야 한다. 두 노드가 엔디안 방식이 다르면 서로 통신하지 못하기 때문이다. 그래서 임베디드 프로그래머는 특히 엔디안 방식에 신경 써야 한다. TCP/IP(Transmission Control Protocol and the Internet Protocol) 내 모든 프로토콜 계층은 빅 엔디안 방식을 따른다. 즉 (IP 주소, 패킷 길이, 체크섬 등) 계층 헤더에 들어 있는 16비트 값이나
개요 윈도우 시스템 프로그래밍한다는 사람치고 PE 파일에 대해서 모르는 사람은 아마 거의 없을 것이다. 윈도우 실행 파일 및 DLL, 그리고 드라이버 파일까지도 PE 파일 형태를 따르고 있으니 뭘 해도 따라다니는게 이 PE(Portable Executable) 파일 포맷이니까 말이다. PE 파일 포맷은 크게 헤더, 섹션, 데이터의 세부분으로 나뉘는데 기존 DOS 시절 사용하던 COFF(Common Object File Format)과 거의 비슷한
다음글은 하이텔 MFC소모임의 시삽이신 권정혁님의 글을 정혁님의 허락하에다음과 같이 기재합니다. 허락해주신 정혁님께 감사드립니다.****************************************************************************이 글은 Mike Blaszczak 의 책 “Professional MFC” 의 Appendix D 에 들어있는내용을 번역한 글입니다. 제 허락없이는 다른 어떤게시판에도 옮기실수 없습니다. 물론 글의 원 소유자는 Mike 입니다.
__cdecl C언어 표준 호출 규약이다. 파라미터는 오른쪽에서 왼쪽으로 스택을 통해 전달되며, 호출한 곳에서 스택을 정리한다. 특징적인건 호출한 쪽에서 스택을 정리하기 때문에 가변 인자를 지원한다는 것이다. extern “C” int __cdecl CdeclFunc(int a, int b, int c) { printf(“%d %d %d\n”, a, b, c); } 위 함수를 호출하기 위한 어셈블리 코드는 아래와 같다. add 명령어를 통해서 호출 한
__cdecl,__stdcall__fastcall 호출규약 더 읽기"
보안 통신용 오픈 라이브러리인 OpenSSL용 API를 사용하는 방법을 배운다는 것은 힘든 일입니다. 문서화가 아직 덜 되어있기 때문입니다. 이 글을 통해서 이를 극복해 봅시다. 기본 연결을 설정한 후에, OpenSSL의 BIO 라이브러리를 사용하여 보안/비보안 연결을 구축하는 방법을 배워봅시다. 에러 탐지에 대한 부분도 설명합니다. OpenSSL API와 관련한 문서는 약간 모호하다. OpenSSL의 사용법에 대한 튜토리얼도 많지 않으므로, 애플리케이션에서 이를
OpenSSL API를 이용한 보안 프로그래밍 더 읽기"
VC++에서 #pragma 사용법 설명.. MSDN에 최적화 관련 #pragma 용법은 아래와 같다. http://msdn.microsoft.com/ko-kr/library/h7k3a0bw.aspx #pragma auto_inline #pragma check_stack #pragma function #pragma inline_depth #pragma inline_recursion #pragma intrinsic #pragma optimize 이중에서 일단, #pragma function #pragma intrinsic #pragma optimize 에 대해서 정리하고 다음것은 나중에 정리하자. 1. #pragma function <사용법> #pragma function( function1 [, function2, …] ) intrinsic
메모리 패킹1.요약 #pragma pack을 이용하여 메모리를 특정 align으로 packing할 수 있다. 2.본문 데브피아에 다음과 같은 팁이 올라왔다. —————————————————————– 구조체 / 공용체 도는 클래스를 바이트 스트림으로 변화시켜야한다면 메모리를 패킹하자. – 사용하는 구조체 또는 공용체 / 클래스를 바이트 스트림으로 변화시켜야한다면, 메모리를 1 바이트 정열을 시켜야 정확한 바이트 단위 크기를 갔습니다. 주로 통신 프로그램을 만드는 경우에 해당하겠군요 예
#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list…] )#pragma warning( push[ ,n ] )#pragma warning( pop )컴파일러 경고 메시지 관련 동작에 대한 선택적 수정을 허용해준다.경고-지시어(warning-specifier)는 다음의 것들 가운데 하나일 수 있다. 경고-지시어의 의미once지정한 메시지(들)을 오직 한 번만 표시한다. default경고 동작을 그것의 디폴트값으로 재설정(reset)한다. 이것은 디폴트로 꺼져 있는 경고를 켜는 효과도 가지고 있다. 이제 그
CVS 이야기 장우현 louis (at) mizi.co.kr 박용주 $Date: 2001/08/21 13:01:41 $ 여 러명이 어떤 공동의 작업을 수행할 때 유용하게 쓸 수 있는 CVS에 관한 이야기를 하고 있습니다. 이 글에서는 아직 CVS 관리에 관한 얘기는 없으며, 순수하게 사용하는 방법만 설명하고 있습니다. 글에 대한 문의사항이 있으면 언제라도 저에게 메일주시기 바랍니다. (참고로 앞으로는 어떻게 될지 모르겠지만,
Donald Bell, IT Specialist, IBM 2007 년 5 월 22 일 The Rational Edge 발췌: UML 2의 새로운 구조 다이어그램 유형 중 가장 중요한 클래스 다이어그램은 소프트웨어 개발 사이클 동안 분석가, 비즈니스 모델러, 개발자, 테스터에 의해 사용됩니다. 이 글은 Unified Modeling Language(UML)에서 사용되었던 필수 다이어그램에 관한 기술자료 시리즈입니다. 시퀀스 다이어그램에 대해 설명했던 이전 기술자료에서는, UML
본 기사에서는 UML 시퀀스 다이어그램에 대한 자세한 소개와 UML 2.0 스펙에 포함된 몇가지 새로운 표기법을 소개한다. 그동안 여러분들이 들어왔던 UML의 새로운 스팩인 UML 2.0의 변경 사항들을 설명할 때가 되었다. 이 새로운 스팩은 중요하기 때문에, OMG의 UML 1.4 스팩에서 UML (UML 2)의 Adopted 2.0 Draft Specification으로 관심의 초점도 옮겨야 할 것이다. UML 2.0 Draft Specification은