반응형

학습자료(~2017)/C,C++ 22

[GCC] 컴파일 과정, 옵션 [퍼온자료 묶음]

gcc 컴파일 과정 1) 전처리 단계 소스파일=file.c -> (전처리=cpp) -> 전처리된 파일=file.i 전처리기(cpp) = gcc 의 가장 먼저 작동됨, cpp는 소스 파일의 #include #define으로 시작되는 전처리기 부분을 처리 필요한 헤더파일을 삽입하고 실행 문장의 매크로를 상수로 변환 file.i를 임시 파일을 생성함 2) 컴파일 단계 전처리된 파일=file.i -> (컴파일=cc1) -> 어셈블리어 파일=file.s 컴파일(cc1) = 컴파일러가 전처리된 파일(file.i)로 부터 어셈블리어로 된 파일(file.s)을 생성, 이것 역시 임시적으로 만들어짐 3) 어셈블 단계 어셈블리어 파일=file.s -> (어셈블=as) -> 오브젝트 파일=file.o 어셈블(as) = 어셈..

[C/C++] 매크로 - 퍼온 자료임

C/C++ 에서 #define 을 사용을 가급적 자제하도록 권고되고 있지만, 잘 사용할 경우 많은 코딩상의 이득을 볼 수 있습니다. #define을 활용하는 예를 몇 가지 설명하려고 합니다. 우선 팁을 설명하기 전에 간단하게 ‘##’ 과 “#’ 에 대해 살펴보고 가겠습니다. (샘플소스는 MSDN 에서 가져왔습니다) 1. ‘##’ - Token-Pasting Operator (##): 분리되어 있는 2개의 토큰을 하나로 뭉쳐주는 역할을 합니다. #define paster( n ) printf( "token" #n " = %d", token##n ) 라고 할 때 아래와 같은 코딩은 int token9 = 9; paster( 9 ); // token##n -> token 과실제인수9 를합쳐token9 가됨 다..

연산자 우선순위

C언어 연산자 우선 순위에 관한 자료가 있어 가져왔다. 언어를 배우는데 가장 기초적인 부분이기는 하지만 또한 가끔 실수가 있는 부분이라서 여기서 문제가 생길경우에 많은 시간을 허비하게 되는 경우가 많다. 실력을 키우려면 기초부터 튼튼하게 다지자! This page lists C operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied. Operator Description Associativity () [] . -> ++ -- Parentheses (function call) (see..

유니코드(unicode) 관련 함수

학교에서 배울때는 멀티바이트코드 즉 char 형으로만 프로그램을 작성하였다. 하지만 요즘은 유니코드로 프로그램을 작성하지 않으면 호환성면에서 크게 떨어진다는 것을 느꼇다. 왜 학교에서는 유니코드 관련해서 가르쳐주지 않는지.. 유니코드 관련 함수는 추가적으로 계속 업데이트 할 것이다. 밑에 내용들은 함수 이름만 표현할 것이다. 내용은 참고 사이트나 google에 검색해보기바란다. 멀티바이트와 매칭되는 유니코드 함수는 아래의 표현 예로 표현 할 것이다. 표현 예) 멀티바이트함수 -> 유니코드함수 0. 문자열 관련 char *str = "test"; -> wchar_t *str = L"test"; 문자열 앞에 'L' 을 붙여야 이것이 유니코드 즉 한문자당 2바이트를 할당받는지 컴파일러는 안다. 1. 파일 오픈..

[WINAPI] 파일 경로 조작 api

윈도우의 Visual C++에서 파일 경로를 조작할 때 사용할 수 있는 유용한 API 함수들이다. 사용하기 위해 아래와 같이 선언한다. #include #pragma comment(lib,"shlwapi") PathAddBackslash - 경로에 백슬레시를 덧붙여준다. 백슬레시가 이미 붙어 있으면 변경하지 않는다. "c:\abc" -> "c:\abc\" "c:\abc\" -> "c:\abc\" PathAddExtension - 파일 경로 뒤에 지정된 확장자를 덧붙여준다. 확장자가 이미 있다면 변경하지 않는다. "c:\abc", ".bak" -> "c:\abc.bak" "c:\abc.cpp", ".tmp" -> "c:\abc.cpp" PathAppend - 두 개의 경로를 덧붙인다. 사이에 백슬레시가 없..

icon overlay 아이콘 오버레이 [펌 정리]

드랍박스나 기타 동기화 프로그램 실행시키면 아이콘에 체크표시가 된것을 볼수 있다. 이를 어떻게 구현할까.. 구글에서 검색만 6시간 넘게 하여 찾아낸 내용들이다. 후.. 영어도 딸리는데 찾느라 죽는지 알았다... 기본 지식은 ATL, 레지스트.. 나는 아직 관련 지식이 미미하여 샘플 코드를 수정하여 쓰고 있다. "ATL" 너를 정복해주겠어.. 나중에.. 아래의 두 압축파일이 아이콘 오버레이를 구현한 샘플파일이다. 실행 아주 잘된다. 첫번째 샘플코드는 탐색기에 나타나는 아이콘에 오버레이를 주는 방식이고 두번째 샘플코드는 윈도우7 에서 보면 바탕화면 맨 아래에 실행시킨 프로그램 목록 아이콘으로 나오는 그곳에 오버레이를 주는 방법이다. 드랍박스같은 아이콘 오버레이를 구현하고 싶은 분들은 첫번째 샘플코드를 활용하..

Icon Overlay 아이콘 오버레이

이 강좌는 코드 프로젝트에 있는 lallous의 강좌에 기초합니다. http://www.codeproject.com/shell/overlayicon.asp 간단한 구현을 통해 위와 같이 자신이 만든 아이콘을 원래 아이콘에 덧붙일 수 있습니다. 아이콘 오버레이 라고 하는데요 세 단계를 통해 구현합니다. 1. 아이콘과 함께 기본 COM 객체 구현 2. IShellIconOverlayIdentifier 인터페이스 구현 3. 인터페이스 registering VS 2005를 이용해 보겠구요.. COM에 대한 얘기는 생략합니다. COM에 대한 강의는 이 게시판의 박성규 님의 강의를 참고하시면 좋습니다. 단계를 설명하기 전에 원리를 설명하도록 하겠습니다. 윈도우의 탐색기는 단순한 어플리케이션이 아닙니다. (빌게이츠가..

반응형