inflearn logo
강의

Course

Instructor

Minimum C++ for C developers

Name mangling

쓸데없지만 질문드리고싶습니다

Resolved

181

dbtjdtn325

1 asked

0

안녕하세요. 항상 양질의 강의 감사합니다.

link 오류시, 컴파일러가 맹글링 해놓은 함수의 진짜 이름이 출력되고, 이러한 오류를 dll 을 사용함에 있어서 자주 볼 수 있다고 말씀하셨는데 리눅스에서 라이브러리든 실행파일이든 용량을 조금이나마 줄이기위해 stip??? 명령어를 사용해 디버깅 심볼을 없앨 수 있었던 것으로 기억합니다.

근데, 디버깅 심볼에는 변수, 함수이름, 소스코드 줄 번호등 다양한 정보가 들어가 있다고 배웠었는데, 해당 명령어로 디버깅 심볼을 없애버린 라이브러리 파일을 사용하여 만든 소스파일을 빌드하는 경우에서, 링크 오류가 나게되면 어떠한 현상이 이뤄지는지 궁금합니다

c++ microsoft-windows 객체지향 디자인-패턴 linux

Answer 1

1

nullnull8537

심볼 파일은 Debug, Release 빌드 모두에 대해 생성할 수 있습니다. 그리고 그 심볼 파일 속에 함수나 변수 이름이 구체적으로 들어 있습니다. 윈도우 환경에서 이 심볼 파일은 .pdb 파일입니다. 이 심볼이 없으면 런타임 디버깅 시 함수 이름이 16진수로 표시됩니다. 이는 라이브러리 자체 빌드와 상관이 없습니다. 그러나 보통 빌드 시 심볼파일을 생성하도록 설정하는 것이 기본 옵션입니다. 아무튼 생각하시는 링크 오류와 관련이 없다고 봐야 하겠습니다. 참고하시기 바랍니다. 😄

인터페이스 상속과 추상 자료형 2:00 질문

0

50

1

13분 42초의 예제

0

52

2

네임스페이스 스코프 내에서 정의된 변수, 함수들이 위치하는 곳 질문

0

46

1

소멸자 가상함수 질문

0

55

2

이동생성자의 매개변수로 넘어가는 임시객체의 값 유지 관련하여 질문이 있습니다.

0

63

2

임시 객체 복사 생성자 질문드립니다

0

66

2

변수 바인딩에 대한 의문점

0

113

1

C++ 파일 구조 질문

0

128

1

빈 포인터에 멤버함수 호출

0

104

1

파생클래스에서 virtual함수를 선언에 대한 질문입니다.

0

116

2

순수 가상 클래스 선언과 일반 인트 변수의 선언과 다른가요?

0

137

2

안녕하세요. 이동의미론에 대해 제가 잘 이해했는지 궁금합니다.

0

132

1

인스턴스의 개념에 대해 int a(3), int(5) 예시를 바탕으로한 질문입니다.

0

189

2

식별자 검색 순서 관련 namespace 생략 관련 오류에 관한 질문

0

175

1

마지막 주소록 예제 c 파일 한글 깨짐 현상

0

190

1

nullprt vs null

0

153

2

복사 생성자 질문 드립니다.

0

221

1

생성자 궁금한거 있습니다

0

218

2

단순대입 오류 발생 이유

0

235

1

네가지 형변환 강의 질문

0

283

1

CMyString Step10 강의 질문

0

174

1

임시 객체와 보이지 않는 복사 생성 강의 질문

0

268

2

섹션8 3번째 강의 (실습 프로젝트 - 문자열 필터개선) 질문

0

219

2

차이점을 잘 모르겠습니다.

0

233

1