
_IO_FILE _IO_FILE이란, fopen 등의 함수를 통해서 반환하는 함수 포인터가 가리키는 구조체를 말한다. 예를 들어 우리는 파일을 열 때 아래와 같은 코드를 사용했다. FILE *fp=fopen("./test.txt",'r') 이때 fopen을 통해 반환되는 포인터가 _IO_FILE 구조체 포인터가 되는 것이다. /* The opaque type of streams. This is the definition used elsewhere. */ typedef struct _IO_FILE FILE; _IO_FILE 구조체가 FILE로 쓰이는 것을 알 수 있다. _IO_FILE이란 구조체는 파일의 정보를 담고 있는 구조체이다. fopen을 통해서 파일을 여므로 이때 파일의 정보를 담고 있는 구조체가..

__environ __environ 변수는 라이브러리에 존재하는 변수로, 스택 주소를 가리킴 즉 __enviorn은 스택 내의 어떤 주소를 값으로 갖는데, 해당 주소는 환경변수 스트링들이 담긴 테이블이라고 할 수 있다. 테이블에 담긴 각각의 주소는 문자열을 담았다. 즉 __environ은 문자열 배열의 포인터라고 할 수 있는 것이다. 해당 문자열들은 환경 변수 정보이다. (따라서 환경 변수 정보들은 stack에 담겨져 있는 것도 덤으로 알아간다~!) 문제 코드 // Name: environ.c // Compile: gcc -o environ environ.c #include #include #include #include #include void sig_handle() { exit(0); } void i..