VxWorks는 두 개의 매개 변수 만 사용하는 strerror_r 버전을 제공합니다. STATUS strerror_r
(
int errcode, /* error number */
char *buffer /* string buffer */
)
cURL 언급 사항 MAXERRSTR_SIZE. vxworks-style strerror_r
C 책 "Hard Way를 배우십시오"에서 자유롭게 읽을 수있을 때 Zed Shaw의 디버그 매크로를 발견했습니다. 처음에는 Linux 용으로 설계되었지만 꽤 오랫동안 사용 해왔다. 이제 Windows 용 C 코드를 작성하고 Visual Studio를 사용하고 있습니다. 내가하고있는 프로젝트에서이 디버그 매크로를 사용하고 싶습니다. 문제는 다음과 같습니다.
다음 프로그램에서 무슨 일이 일어나는지 설명하십시오. 나는 시작과 프로그램의 마지막에 strerror(errno)에 의해 반환 된 주소를 확인하고 그것이이의 번 확인 동일한 주소 각 time.Then를 반환 확인, 첫 번째 경우에 나는 ptr에 같은 주소를 할당하는 것을 진행 케이스 하나에 : 다음은 strcpy() .IN 케이스 II를 사용하여 문자열 "
멀티 쓰레딩을 위해 strerror (thread-safe가 아님)을 사용하는 일부 Linux 코드가 수정되었습니다. 나는 strerror_r과 strerror_l이 모두 스레드로부터 안전함을 발견했습니다. strerror_r에 대한 다른 정의로 인해 (_GNU_SOURCE에 따라 다르게 정의 됨) 새로운 strerror_l 함수를 사용하고 싶습니다.