엇그제 C언어의 주석이 뭔지 알았다.

C에 관한 책을 상당히 많이 봤다고 자부 했는데….

항상 같은것들의 연속이였다는 생각이 들었다.

거의 비슷한 수준의 책들이였고 같은 이야기만 다른 코드로 설명하는 것들…

요즘 C언어 펀더멘탈이라는 책을 보고 있는데 위와 같은 생각이 들었다.

처음에 책을 받아보고 “뭔 단순한 C문법을 천페이지나 넘게 책을 만들었다냐…” 하는 생각이 들었다.
하지만 처음 몇백 페이지 읽어보고 내 생각은 기우였음이 밝혀졌다.

처음부터 차근차근 읽어 보면서 내가 간과하고 지나갔던 C의 세세한 부분에 대해서 알수 있었다.
여기서 밝히기 쪽팔리지만 전에 Dev-C++ 사용기를 멍청하게 포스팅했다는걸 여기서 알수 있었다.

그때 컴파일러 옵션에서 Ansi옵션을 빼주니 잘 되더라 했던건..정말 멍청한 짓이였고, C를 모르는 철부지가 인터넷의 쓰레기 정보 양산에 일조를 한거였다.

이유없이 주석 앞부분에서 컴파일 에러가 났는데… 주석이 잘못되었다는 생각을 그때는 왜 못했는지..

뭐 아는지 모르겠지만 Ansi C에서는 “/* ~~~ */” 형식의 주석만 허용된다는걸 엇그제 알게 되었다.
그러니 “//” 이런 형태의 주석 앞에서 Ansi 옵션을 주고 gcc 컴파일러를 돌리니 에러가 날수밖에..

난 그동안 무려 2000라인짜리의 C코딩을 하면서 C언어의 제대로된 주석이 뭔지도 몰랐던 것이다..ㅜㅜ
내 자신에게 열받아서 그동안 주석단거 모조리 Ansi C 주석으러 바꿨다.

책자 첫머리에 이런 이야기가 나왔다.

“돌아가기만 하면 프로그램인가?” 이 말이 어찌나 내 마음을 찌르던지…

그동안 C언어의 표준이 뭔지 몰랐는데 이제 이걸로 인해 C 임플리먼트의 다양성과 그 다양성안에서 변하지 않는 부분을 잡는 법을 알수 있을거 같다.

개발에 게시되었습니다
0 0 votes
Article Rating
Subscribe
Notify of
guest

8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
게렉터

// 는 표준 C++ 의 기본 주석 일겁니다. 요즘에는 C 는 워낙 원시적인 것으로 보고 대부분 객체지향과 C++ 를 상정하고 기본 프로그래밍 책/교육 이 나오다 보니, 곰곰이 님께서 실수 하신 것 아닌가 생각해 봅니다.

v쭌쓰v

저도 오늘 처음 알았네요. Ansi C 의 주석이 그거 한가지 였다니… -0-

곰곰이

게렉터 님 : C++은 아직 프로젝트같은걸 안해봐서 많은 경험을 하지는 못했습니다.

아무래도 많은 IDE 환경이 C 및 C++을 구분없이 받아들이는것도 문제가 있지 않나 합니다. Dev-C++같은 경우도 메뉴에 주석넣는 기능이 있는데 그게 C로 프로젝트를 생성을 해도 “//”이런 주석으로 달아버리더군요.

v쭌스v 님 : 저는 개발 경력만 2년인데 몇일전만해도 C언어 Ansi에 대해서 전혀 감도 없었습니다. ㅡㅡ;

qcollapse

C99에서는 // 형 주석이 허용됩니다.

곰곰이

qcollapse 님 : 예 저도 어제 알았습니다. ^^;

conv2

주석과 관련된 이런저런 흥미로운 이야기에 끌려서 주문했습니다. 받아보면 뭔가 재미있는 것이 있지 않을까라는 기대를 살짝 걸어봅니다. ^^;

곰곰이

conv2 님 : 책 아주 재미있습니다. 이거 다 소화시킨다면 C언어 고수라고 칭해도 될만하겠더라구요.

trackback

http://gogamza.egloos.com/1941190   ANSI C99에서는 //도 주석으로 지