2009-10-14 5 views

답변

2

open/close는 일부 유닉스 표준, POSIX, SUS 등의 일부이지만 Windows는 유닉스가 아닙니다. fopen과 같은 ANSI C 표준 라이브러리 함수에는 밑줄 장식이 하나도 없다는 점에 유의하십시오.

Windows는 유닉스가 아니기 때문에 유닉스 스타일의 API를 사용할 수 없었던시기가있었습니다. 이 때문에 클라이언트 코드는 열기 및 닫기와 같은 정의 된 함수로 작성 될 수 있습니다. 기존 코드와의 호환성을 유지하기 위해 Unix 스타일 API를 추가 할 때 앞에 밑줄이있는 식별자가 구현 용으로 예약되어 있기 때문에 앞에 밑줄이 추가 될 수있었습니다. 즉, 기존 코드는 _open이라는 함수를 정의해야합니다.

Unix 스타일 api를 대상으로하는 "Portable"코드는 매크로 (또는 링커 수준에서 구현 된 별칭)를 사용하여 비교적 쉽게 컴파일 할 수 있습니다. unix를 대상으로하는 코드는 open이라는 함수를 정의하지 않았기 때문에 비교적 쉽게 컴파일 할 수 있습니다./닫기 등

+2

정의 _CRT_NONSTDC_NO_DEPRECATE는 전역 적으로 접두사 이외에 일반 이름을 노출합니다. – diapir