-1리턴하면 에러 등.. 확실하게 표준을 정하면 훨씬 나을텐데 이건 메뉴얼을 일일이 보고 에러상황을 찾아야하니 여간 불편한것이 아니군요. 왜 그랬을까요.
관습상:
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
정말로 -1이라는 값을 리턴해야 할 경우 문제가 생기니까요. 어차피 C에는 예외처리와 관련한 기능이 없습니다. 그냥 약속일 뿐이죠. 그렇게 생겨먹은 걸 어쩌겠습니까. ;-)
----http://nohmad.tumblr.com/
시스템콜의 경우 read같은거는 성공시 읽은 바이트수를 리턴하는것같던데요..
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: 왜 리눅스는 함수 리턴값에 일관성이 없을까요.
원래 c언어는 에러값같은 에러 정의기 정해져 잇지 않았습니다.
그래서 초창기에 만든 건 자기 마음대로 정하곤 했습니다,
지금은 gnu스타일같이 많이 표준화되었지만.
참고로 그래서 c#이나 java는 에러처리가 언어차원에서 표준화되었습니다.
관습상:[list][*] system call style인 경
관습상:
- system call style인 경우 int type을 리턴, 성공하면 0, 실패하면 -1을 리턴하며, 세부 에러 내용은 errno에 저장.
- pointer를 리턴하는 경우, 실패하면 NULL을 리턴.
- counter value를 리턴하는 경우 성공하면 0 또는 양수, 실패하면 -1.
- main()에서 프로그램이 성공적으로 끝나면 0을, 그렇지 않으면 0이 아닌 값을 리턴 (EXIT_SUCCESS와 EXIT_FAILURE 사용 권장)
[/]C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
Re: 왜 리눅스는 함수 리턴값에 일관성이 없을까요.
정말로 -1이라는 값을 리턴해야 할 경우 문제가 생기니까요. 어차피 C에는 예외처리와 관련한 기능이 없습니다. 그냥 약속일 뿐이죠. 그렇게 생겨먹은 걸 어쩌겠습니까. ;-)
----
http://nohmad.tumblr.com/
시스템콜의 경우 read같은거는성공시 읽은 바이트수를 리턴하는것같던데
시스템콜의 경우 read같은거는
성공시 읽은 바이트수를 리턴하는것같던데요..
댓글 달기