C 래퍼 함수나 libc 내부 구현에 기대지 않고 errno를 얻기 위해, Hare에서 perror의 오류 메시지를 가로채 숫자 오류 코드로 역변환하는 실험임 perror 는 errno를 직접 읽지만 결과를 stderr에 출력하므로, 프로그램 초기화 때 파일 디스크립터 2를 임시 파일로 돌려 메시지를 읽어옴 초기화 때 strerror 오류 메시지 테이블을 만들고, 캡처한 문자열과 일치하는 항목의 인덱스를 errno 값으로 반환함 strerror_r의 GNU/POSIX 버전 차이와 구현마다 달라질 수 있는 SEEK_SET 값 때문에, C 밖에서 이식성을 확보하는 과정에도 추가 우회가 필요함 출발점은 Hare가 기본 지원하지 않는 POSIX 시스템에서도 시스템 libc에 연결할 수 있는 범용 POSIX 타깃 실험이며, 오류 번호의 이식성 문제로 이 타깃에서는 문자열만 반환하려 했음 C 밖에서 errno를 읽기 어려운 이유 목표는 C로 작성한 래퍼 없이 다른 언어에서 errno 값을 얻는 것임. 예제 언어로 Hare를 사용함 errno는 매크로이며, 확장 결과는 이식 가능하지 않고 보통 안정성 보장도 없음 다른 언어에서 libc 함수를 호출한 뒤 오류 값을 얻으려면 일반적으로 구현 세부사항에 의존하거나 errno를 반환하는 C 래퍼를 작성해야 함 libc에는 errno 값을 반환하는 함수가 없지만, 오류를 설명하는 문자열을 얻는 함수는 있음 표준 C의 strerror, perror와 POSIX의 strerror_r, strerror_l이 후보임 strerror 계열은 오류 번호를 인자로 요구하고, perror만 errno를 직접 읽음 따라서 실제 stderr에 출력하지 않으면서 perror의 결과를 캡처하는 방식으로 접근함 stderr를 임시 파일로 돌려 메시지 캡처하기 프로그램 초기화 단계에서 dup으로 원래 stderr를 보관하고, mkstemp로 임시 파일을 만든 뒤 dup2로 STDERR_FILENO인 2를 임시 파일에 연결함 종료 처리에서는 임시 파일 디스크립터를 닫고 파일을 삭제함 stderr와 상호작용할 수 있는 libc 래퍼나 시스템 호출 래퍼는 파일 디스크립터 2 대신 보관해 둔 원래 stderr 디스크립터를 사용함 이 전환은 오류 발생 전부터 유지해야 함. dup2가 errno를 덮어쓸 수 있으므로 perror 호출 직전에 전환하면 안 됨 문자열을 반환하는 첫 번째 get_errno()는 perro...
C 밖에서 이식성 있게 errno에 접근하는 괴상하고 엉망인 꼼수
1 hour ago
3
Related
진화하는 위협: Node, Python 등에서 원격 코드 실행을 일으키는 http2shell
1 hour ago
3
CVE Tracker - 1999년부터의 CVE 공개 건수를 시각화하는 대시보드
1 hour ago
1
이것이 사이버 보안의 새로운 일상인가?
2 hours ago
1
정의되지 않은 동작(UB)이 괜찮다고 생각하는 사람들에게
3 hours ago
0
순수 함수형 프로그래밍은 C 성능에 얼마나 근접할 수 있을까?
3 hours ago
0
해커, 독일 극우 정당 AfD의 데이터 281GB 유출
4 hours ago
3
Show GN: AIDAN - 가입 없이 10문항 무료 연습과 4개 언어 교재
4 hours ago
3
유토피아가 코앞이라면 노후 준비는 필요 없다
5 hours ago
3
Tips
click
Trending
Popular
영탁 "임영웅과 자주 운동해, 축구 실력 1티어..장민호는 개발" [사당귀]
3 weeks ago
352
주말 새 2금융권까지 해킹피해 확산에…당국, 4일 전 금융업권 협회장·금융사 대표 긴급 소집
2 weeks ago
347
넷마블 ‘몬길: 스타다이브’, 1.4 대규모 업데이트…‘이자벨라’ 등장
3 weeks ago
341
Show GN: 믹스독 — 같은 구독으로 더 많이 쓰는 오픈소스 코딩 에이전트
3 weeks ago
337
임산부석 차지한 노인…다리 깁스한 34주 만삭 임산부는 결국
2 weeks ago
336
“군대 안가” 자랑한 축구대표팀에…안철수 “군대가 혐오시설? 군면제 없애야”
2 weeks ago
335
승부 가리기엔 11회가 모자랐다…KT, 연장 접전 끝 롯데와 2-2 무승부→매직넘버 2
2 weeks ago
331
한국큐빅, 매출 67% 차지 안산공장 생산중단…부산공장으로 통합
3 weeks ago
331
은행권 AI 연쇄해킹…공격서버에 ‘중국어 문자열’ 있었다는데
2 weeks ago
319
평택시흥고속도로서 트럭이 승용차 2대 추돌…트럭 운전자 사망
3 weeks ago
316
© Clint's Theme Park 2026. All rights are reserved

![영탁 "임영웅과 자주 운동해, 축구 실력 1티어..장민호는 개발" [사당귀]](https://image.starnewskorea.com/cdn-cgi/image/f=auto,w=1200,h=645,fit=cover,q=high,sharpen=2/21/2026/10/2026100208562556697_1.jpg)








English (US) ·