본문 바로가기

Language

#define 매크로 팁 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 가됨 다.. 더보기
[ Source insight ] 활용팁!! 단축키 1. Ctrl + = 또는 Ctrl + 왼쪽 마우스 버튼 => 변수 및 함수에 커서를 위치시키고 이 키를 누르면 해당 선언문으로 이동 및 확인 할 수 있다. 2. Ctrl + 0 => 우측 파일창으로 이동한다. 3. Alt + L => 좌측 함수창으로 이동한다. 4. F7 키 => 프로젝트 전체에서 특정함수나 변수등을 찾기 위해 사용 5. F8 키 => 현재 파일에서 특정함수나 변수등을 찾기 위해 사용 6. F5 키 (라인수 입력창) => 해당 라인으로 이동. 7. Alt + => 이전/이후에 커서가 위치했던 곳으로 이동. 8. Ctrl + f, F3, F4 => ctrl + f : 현재 파일 내에서 검색 F3 : 이전 검색 부분 이동 F4 : 다음 검색 부분 이동 9. Alt + 드.. 더보기
컴파일(Compile)과 빌드(Build) -------------------------------------------------------------------------------------------------------------------- 컴파일(compile) : 소스코드를 컴퓨터가 이해할 수 있는 언어(native code (machine language = 기계어))로 번역해주는 것 [ 컴파일의 3단계 ] * lexical-phase - 어휘 분석 : 괄호, semicolon이 빠졌다는 등의 error 검출 * syntactic-phase - 구문 분석 : 함수의 parameter 등의 error 검출 * semantic-phase - 의미 분석 : ex) long a, *b; a = b; // syntax는 맞지만 의미상의 오.. 더보기