모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    ansi5120님의
    개인페이지입니다
    가입 : 13-04-28
    방문 : 1490회
    닉네임변경 이력
    회원차단
    회원차단해제
     

    ansi5120님의 댓글입니다.
    번호 제목 댓글날짜 추천/비공감 삭제
    415 왜 C에서 bool을 쓰면 안 되는가? [새창] 2014-08-29 12:21:40 0 삭제
    엔델(둘째, 셋째에 대해)//

    역시 정확한 말입니다. 원론적으로 백번 옳은 말입니다.
    그런데 멍청(하다기보단 자기가 무엇을 쓰는지 정확히 모르는) 사람들이 너무 많아요.

    특히 이런 류의 문제는 애초부터 잘못될 수 있는 빌미를 만들어 두고 '조심해라'고 하기보단 애초에 프로젝트 시작부터 '하지 마라'고 못을 박아둔 뒤에 쓰는 게 더 안전합니다.
    프로젝트 초기부터 전원에게 교육을 시켜도, documentation을 아무리 열심히 해도, 결국에는 '그런' 신입이 와서 망가트릴 수가 있어요.

    그...유니코드 도입할 때 있었던 일인데,

    bool = strcmp(a, b);

    이 코드 자체는 나쁘지 않지요? ANSI 하에선 이 숫자가 -127과 128 사이에 있을 수밖에 없으니까요.
    (일반적인 strcmp 구현 하에서지요, 물론)
    그런데 유니코드를 도입하고나서 코드값의 한도가 확 늘어납니다.
    자...그러면 이러다가 '256'이 나오면? 0x0100이므로 0이 되어버립니다.

    이런 건 정말 못 찾아요.
    414 왜 C에서 bool을 쓰면 안 되는가? [새창] 2014-08-29 12:15:37 0 삭제
    몽되면x된다(첫글) //

    스탠다드 라이브러리에 strfind란 함수는 없습니다.
    원글에 명시했듯이,
    > "만일" strfind가 포인터를 리턴하고, 찾은 포인터의 제일 뒷 8 비트가 0이라면 문제가 됩니다.
    를 위한 이야기였습니다.

    mutable string 구현하는 데 자주 쓰는 트릭이거든요.
    413 왜 C에서 bool을 쓰면 안 되는가? [새창] 2014-08-29 12:14:16 0 삭제
    엔델(첫 글에 대해)//
    정확합니다. 굳이 쓰고 싶으면 바로 그렇게 하면 됩니다.
    하지만 모두가 그렇게 정확하게 쓸 수 있는 건 아닙니다.(진짭니다)

    다시 원글을 읽어보세요.

    #define true 1
    #define false 0
    ..
    if (foo == true)

    왜 이렇게 쓰는 사람들이 많은지는 정말 모르겠습니다만 꽤 많습니다.

    (가능하면 K&R 스타일을 쓰는 입장에서)보통 C의 컨벤션은 저거라기보단 expression값을 그대로 쓰는 거죠.
    if (foo)
    내지는
    if (bar())

    여기에서 bar의 값이 typedef char bool bar() 같은 식으로 쓰여지면 거의 시한폭탄으로 보이죠.

    게다가,

    모두가 귀하처럼 명석하게 이해하고 쓰는 건 아닙니다.
    프로젝트의 시작에서 typedef char bool을 쓰고, 정확하게 사용한 뒤에 C++하던 사람이 와서 망쳐놓을 수도 있습니다.
    (C++가 나쁘다는 게 아니라, 역사상 이 idiom은 C++의 컨벤션을 집어넣으려던 시도였기 때문입니다)
    이에 대한 가장 좋은 방법은 애초부터 금지하는 것입니다.
    412 원 게시글이 삭제되었습니다. [새창] 2014-08-29 11:58:18 0 삭제
    엔델//
    그걸 모르겠습니까?

    링크한 글에도 썼다만 문제는
    #define true 1
    #define false 0
    이거에 맞추려고 typedef char bool을 쓰는 것에 제기한 것입니다.

    strcmp를 예로 든 건 그것이 expression으로 해결되면서 나오는 값이 1도 0도 아닐 수 있단 말 그 이상 그 이하도 아닙니다.
    411 왜 C에서 bool을 쓰면 안 되는가? [새창] 2014-08-29 11:37:47 0 삭제
    리턴값이 double이라면 double로 캐스팅해서 받고, 또 int와 같이 쓸 일이 있으면 그만큼 잃어버리는 정보가 있다는 걸 감수하면 됩니다. 그 정도 정보의 로스는 개발 도중 결정해야 하는 거고요.
    애초에 floating point 계산은 항상 잃어버리는 값이 있습니다.

    그래도 이 논의는 의미없는 게, 이건 데이터에 대한 값이죠.
    boolean은 로직에 관련된 값입니다. 항상 정확해야 합니다. 프로그램의, 아니 함수의 correctness는 값 A를 적용해서 B가 나와야 한다면 몇십만 번을 해도 A를 적용하면 B가 나와야 합니다.

    이런 걸 생각하기 귀찮으면? LISP을 만지면 됩니다.
    410 원 게시글이 삭제되었습니다. [새창] 2014-08-29 11:14:39 0 삭제
    나머지//
    이전에 썼던 글 추가 조금 해서 새로 올렸습니다.
    http://www.todayhumor.co.kr/board/view.php?table=programmer&no=5206&s_no=5206&page=1
    409 원 게시글이 삭제되었습니다. [새창] 2014-08-29 11:13:55 0 삭제
    야하수리 //
    그건 C++의 임의지요.
    C는 애초부터 boolean의 TRUE/FALSE가 아닌 FALSE/NOT FALSE의 의미밖에 없습니다.
    (0 == 1)는 statement가 아니라 expression이기 때문에 고유값이 있습니다.

    optimization 없는 GCC 버전으로 다음 코드는 0도 1도 아닌 67의 값을 지닙니다.
    char* a = "abc";
    char* b = "ab ";
    printf("%dn", strcmp(a, b));

    C는 어셈블리라고 생각하는 게 편해요.
    408 C언어 관련 정리 잘된 곳이 있을까요? [새창] 2014-08-29 05:42:03 0 삭제
    http://www.amazon.ca/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&qid=1409258485&sr=8-1&keywords=c+programming+language

    http://www.amazon.ca/Programming-Approach-K-N-King/dp/0393979504/ref=sr_1_5?ie=UTF8&qid=1409258485&sr=8-5&keywords=c+programming+language

    클래식도 좋지만 개인적으로 King 책을 더 추천합니다.
    407 C언어 관련 정리 잘된 곳이 있을까요? [새창] 2014-08-29 05:40:52 0 삭제
    http://c-faq.com/
    406 입력장치?를 만드려면 어떻게 하나요? [새창] 2014-08-27 22:37:29 2 삭제
    http://lmgtfy.com/?q=how+to+write+device+driver
    405 입력장치?를 만드려면 어떻게 하나요? [새창] 2014-08-27 22:33:42 0 삭제
    UART, USB spec으로 검색해보세요.
    404 원 게시글이 삭제되었습니다. [새창] 2014-08-26 15:22:08 0 삭제
    마음만 먹으면 아주 처음부터 끝까지 자세히 써도 되긴 합니다만 실제로 그렇게 쓰면 1000페이지짜리 책이 됩니다.(...)
    여하튼 대충 큰 그림만 그렸습니다.
    403 안녕하세요. IT업계에 종사하시는 분들께 조언 구합니다 [진지] [새창] 2014-08-26 15:17:23 0 삭제
    http://www.todayhumor.co.kr/board/view.php?table=it&no=1885&s_no=1885
    402 원 게시글이 삭제되었습니다. [새창] 2014-08-26 11:15:31 0 삭제
    개발용으로 맥은 좀 많이 오버입니다.
    싼 거 대충 사서 데비안이나 리눅스 민트 정도 까는 게 좋을 듯 합니다.
    401 원 게시글이 삭제되었습니다. [새창] 2014-08-26 06:09:32 0 삭제
    읽어보니 윈도우 내부에서 뭔가 하기 위해 쓰는 프로그램인거 같군요. 걱정할 필요 없어보입니다.



    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]

     
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈