0
샘플 C++ 프로그램의 경우 linux에서 size 명령을 사용하여 다음 정보를 얻었습니다.오브젝트 파일과 실행 파일 간의 다양한 필드 크기의 차이
text data bss dec hex filename
1908 304 152 2364 93c test
346 4 1 351 15f test.o
나는 출력물이 크기라고 읽었습니다. 텍스트는 실제 코드이며, bss는 초기화되지 않은 전역 변수를 포함하고 데이터는 초기화 및 초기화되지 않은 세그먼트를 모두 추가합니다. 내 질문은 이유는 크기가 개체 파일과 실행 파일, 특히 텍스트에서 다른 이유는 소스 코드가 메모리에서 일반적으로 사용되기 때문입니까? 전역 변수가 없으면 왜 bss에 표시된 크기가 있습니까?
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl ;
return 0;
}
당신을 감사합니다
는 샘플 코드 파일은 다음과 같습니다 포함!
감사합니다. 전역 변수가없는 경우에도 전역 변수의 크기를 표시하는 이유는 무엇입니까? 컴파일러/링커 삽입 정보 때문에? – Izza
예. 더 나은 아이디어를 얻기 위해 코드를 디 컴파일해야합니다. 특히 "귀뚜라미 (cout)"와 "씬 (cin)"글로벌 광고가 있습니다. –