정말 linux 의 C/C++ IDE 환경에 만족하십니까?

hsnks100의 이미지

정말 궁금하네요. IDE 상으로 가장 무난하다는 eclipse 를 써봐도 도저히 기능이 만족이 안되네요.

만족못하다말고 기본 기능조차 지원이 안되는거 같아서 씁쓸하네요.

디버깅 기능이 너무 열악합니다! 복잡하게 쓴 STL 사용한 코드를 디버깅 하고 있자니 답답해죽을거 같네요.

물론 STL 디버깅 한답시고 http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt 이러한 스크립트도 사용해봤습니다.

간단한 경우에야 일일이 pstring pvector pmap 을 쓰지, map[string, vector[string] ] 정도로 조금만 복잡해도 디버깅 할맘이 안듭니다.

한줄 한줄 마다 뿌려주는 로그를 남겨주는거도 생각해봤으나 코드양이 쓸데 없이 길어지는 문제가 있습니다.

다들 리눅스에서 어떻게 C/C++ STL 디버깅을 하시는지 궁금합니다. 위에서 잠깐 언급한 map[string, vector[string] ] 는 복잡한 축에도 끼지 않는데 이런거 조차 디버깅이 너무 힘겹습니다.

저의 내공부족인지... ㅜㅜ

리눅스에선 C++ 을 주력으로 쓰는건 포기해야될까요... 으으

kkb110의 이미지

이런거 말씀하시는건가요?
아니면 이것보다 더 이쁘게 프린팅된거 찾고계신건가??

댓글 첨부 파일: 
첨부파일 크기
Image icon Screenshot at 2012-01-07 23:32:40.png124.01 KB
아기다리의 이미지

gdb로 STL 디버깅하기가 다소 힘들긴 합디다 -_-;

hsnks100의 이미지

엌 윗분 어떻게 하면 variable 에 바로 변수를 쳐서 값이 나오는건가요? 무슨 플러그인을 쓰셨나요??

저정도로 잘 보여준다면 정말 끌리는데요.

왜 저렇게 없을까 싶었는데... 기본 제공되는 기능인가요? 세팅을 하신건가요?

----------------------------------------------------

kkb110의 이미지

gdb 세팅이죠..

그냥 "gdb stl pretty printing" 이나 "eclipse stl debugging" 구글링 하면 쭉쭉 나옵니다.

eclipse cdt FAQ에도 있구요. http://wiki.eclipse.org/CDT/User/FAQ#How_can_I_inspect_the_contents_of_STL_containers.3F

다운로드: svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python

allinux의 이미지

태훈의 이미지

정말 Windows 의 C/C++ IDE 환경에 만족하십니까?

Just do it!

익명 사용자의 이미지

Visual Studio를 써본 입장에서 충분히 만족합니다.

Hamyt88의 이미지

Visual Studio 2008부터는 정말 좋습니다. 이클립스나 JBuilder가 딱 이정도만 해줬으면.. 이라고 바랄정도루요.

아기다리의 이미지

개인적으로 Windows가 데스크탑에서 살아남을 수밖에 없는 두 가지 요소로 Office군과 개발 툴들을 뽑고 싶습니다.

태훈의 이미지

몇몇 설명이 필요로 하시는 분들이 계시는 것 같아서...

리눅스 개발 환경에서 불편합니다. 하지만, 자유롭습니다. 개인 역량에 따라 윈도우 IDE보다 편리하게 만들어 쓸 수 있습니다.

vim/emacs, gcc, gdb, bash shell, Makefile, autotools, python, perl, sed, awk, git, screen, ....

더 필요한거 있나요?

Just do it!

hsnks100의 이미지

저같은 경우에는 C++ 제외하곤 다른 언어에선 세팅하면 많이 편합니다.
근데, 태훈님은 C++ 할 때도 리눅스가 더 편하신지... 비법이 무엇인가요?

저도 C++ 말고 파이썬이나 펄. 이러한 언어에선 주저하지 않고 리눅스를 택합니다.

----------------------------------------------------

kkb110의 이미지

궁금해서 질문드리는건데...

요새 visual studio c++은 eclipse cdt에 비해서 어떤게 더 좋은가요?

한참 예전에 썼을때도 (vc++ 2005?) 참 괜찮았는데, 요샌 또 더 얼마나 편해졌는지 궁금하네요.

hsnks100의 이미지

저 같은 경우에는 vs 가 STL 객체를 장난 아닐 정도로 편하게 보여주는게 너무 좋았습니다.

물론 자기만의 배포하는 라이브러리이기 때문에 가능한거지요. eclipse 는 어떤 컴파일러와 연동할지 정해지지 않았으니 자동으로 해주는게 사실상 힘들기도 하고요.

vs 2010 에 오면서 큰 변화가 된 점중에 하나가, intellisense 기능이 컴파일 수준으로 뛰어올랐다는 점입니다.
이전에는 잘못 파싱되서 화면상으론 빨간줄이 그어져 있는데, 컴파일이 되는 둥 문제가 많았지만, vs 2010 오면서 컴파일 레벨로 intellisense 기능을 끌어올려서, intellisense 에서 걸리면 아예 컴파일도 안해보는 저를 발견할 수 있었구요. c++ 0x 의 lambda 기능을 좀 많이 쓰다보면 가끔 오동작합니다. C++ 0x 까지 파싱하는건 조금은 얘가 힘들어합디다.
결론적으로 C++ 0x 에 대해서는 intellisense 가 조금 미비한데, 느끼기에, 완벽하다고 볼 수 있습니다.

eclipse 가 vs2010 보다 나음점은 저는 call stack 에 대해서 편하게 다룰 수 있는게 좋습니다. 물론 vs 도 되지만 eclipse 가 더 깔끔합니다. eclipse 의 intellisense 은 저는 잘 모르겠네요.
STL 을 많이 쓰는 편이라서 cdt 로 STL 쓸 엄두를 못냈었거든요. cdt 유저중 STL 많이 쓰시는 분이 답글 달아주실겁니다. ㅜㅜ

----------------------------------------------------

익명 사용자의 이미지

인텔리센스가 컴파일 레벨이 되었다는 표현이 무척 이상하군요.

님 설명대로면
C++11의 람다함수에 대해 인텔리센스가 오동작을 한다면 컴파일도 안되겠죠.
인텔리센스와 컴파일러의 파싱수준이 같아졌으니 인텔리센스가 못하면 컴파일러도 못하는거 아닙니까? ^^

결론은 인텔리센스는 컴파일 레벨이니 하는 것과 아무 상관이 없습니다.

hsnks100의 이미지

제가 과장해서 말씀드린건 사과할게요.

----------------------------------------------------

harry243의 이미지

그 툴들을 이용해서 컴파일 디버깅 하는데 전혀 문제 없습니까??

익명_사용자의 이미지

윈도우든, 리눅스든 IDE를 쓰시는분들이 많군요.
전 vi + cgdb에 너무 만족을하며 잘 쓰고 있습니다.

행여나, cgdb아직 안써보신분들은 꼭 써보시길 강추
http://cgdb.sourceforge.net/

여기부터는 서명입니다.
"저는 인터넷에서 숨어서 정확한 의견을 피력하는 자들과 말을 섞습니다."

익명 사용자의 이미지

Debugging 이 너무 안좋아서 답답해서 일을 못하겠다고 하시는 것은,

제대로 번역해주는 번역기가 없어서 영작을 잘 할 수가 없다고 말하는 것과 같지 않은가요 ?

디버거이 있어서 배우는 것보다 디버거를 없애버리고 배우는 것이

더 제대로 배울 수도 있다는 생각이 듭니다. 제대로 알지 못하고서는 돌릴 수 조차 없으니까.

"따분한 교감선생님 말씀" 같기도 합니다만, 한번 생각해 보시지요...

아기다리의 이미지

Debugger 없이 프로그래밍을 하는 것이 능력 향상에 도움이 될 수 있다는 건 저도 인정합니다만

6개월 뒤까지 프로그램을 완성해야 하는 회사 입장에서 프로그래머가 '나는 실력을 향상시켜야 하니 디버거 없이 디버깅을 하겠어'라고 고집을 피운다면 -_-;

게다가 현실적으로 '프로그래밍 능력'이란 것이 객관적이고 측정가능한 잣대라기 보단 '디자이너의 디자인 능력'처럼 애매함이 다소 포함되어 있다 보니..

다소 뜬구름 잡는 이야기란 생각이 드네요 ㅎ

kkb110의 이미지

컴파일러 에러 메세지를 끄는 것은 어떨까요. 제대로 알지 못하고서는 돌릴 수 조차 없으니까 실력 향상에 도움이 될 것 같은데 ㅋㅋㅋ

컴파일러 메세지 해석 잘하는거나(특히 템플릿 메타프로그래밍이 들어간 경우), 디버거 잘 쓰는거나 다 갈고닦아야 할 프로그래밍 스킬입니다.

익명 사용자의 이미지

vivisection의 이미지

geany가 디버깅을 지원하다니!!
호오라
신기하군요
예전엔 항상 디버깅 안되는게 아쉬웠는데
이젠 emacs만 사용해서 써볼일은 없겠군요

개인적으로 그놈 최고어플은 지니랑 에피파니라고 생각합니다
최악의 어플은 그놈3...

참고로 geany는 윈도우즈용도 있습니다

익명 사용자의 이미지

글을 제대로 읽지도 않고 답글을 쓰는 분들이 많군요.
STL debugging 의 어려움에 대한 이야기인데 거기에 대한 답글이들이 참..
cgdb 나 geany 이야기는 쓸데 없잖아요. eclipse CDT 링크도 쓸모 없구요.
Windows 의 C/C++ IDE 환경에 만족하느냐는 질문은 더 어이가 없군요.
위에 몇 분 빼놓고는 하나마나한 말씀들만 하십니다 그려...
다음부터는 그러지 마세요. 글 좀 읽고 답을 하세요.

allinux의 이미지

본 질문만 읽고는 원하시는 것을 잡아내기가 어렵지만...
질문자께서
eclipse cdt 스크린샷을 보시고는
"엌 윗분 어떻게 하면 variable 에 바로 변수를 쳐서 값이 나오는건가요? 무슨 플러그인을 쓰셨나요??

저정도로 잘 보여준다면 정말 끌리는데요.

왜 저렇게 없을까 싶었는데... 기본 제공되는 기능인가요? 세팅을 하신건가요?"
라며 답을 올렸습니다.

여기서 알 수 있는 것이 단순히 STL 디버깅이 어렵다 라기보다 리눅스의 개발환경의 기능부족을 문제 삼아 질문을 올리신거구나 하고 유추가 가능해집니다.
그 이후의 답변글이 IDE 기능위주로 흘러가고 있구요.

익명 사용자분께서 제기하신 문제(답변자들이 질문을 제대로 읽지 않고 답변을 쓴다)는 토론쪽 게시판이 가장 어울릴 듯 하며
혹여나 혼잣말 수준의 글이었다면 일기장에 적으시는 것을 추천드립니다.

kkb110의 이미지

근데 보시면 아시겠지만 제가올린 eclipse cdt 스크린샷은 hsnks100님이 질문하신 map[string, vector[string] ] 디버깅하는 스크린 샷이였습니다. hsnks100님도 당연히 변수뷰어는 아셨겠지요,(이전에 올리신 질문들을 보면 더욱더..) STL이 gdb 기본세팅으로는 잘 안보여서 그렇지..

제가보기에도 cgdb, geany,나 eclipse CDT 링크 글들은 별로 상관없는 글들 같아요, 걔네들도 gdb 세팅 없이는 map[string, vector[string] ] 같은거 표시 안될테니까요..

hsnks100의 이미지

아직 못써봐서 그러는데, 그 기능을 쓰면 깊이가 꽤 깊은 STL 컨테이너에 대해서도 보여줄 수 있나요?

vector< vector < vector < int >>> v;
v 를 치면 맨 마지막 요소 값까지 되는건가요? 해보고 싶은데 해볼 여력이 당장 안되서 ;

----------------------------------------------------

kkb110의 이미지

네.. 이정도면 거의 vs급이지 않나 싶네요.(그래도 vs가 더 나은 것 같지만) 변수 에딧도 됩니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon Screenshot at 2012-01-10 22:35:31.png89.09 KB
익명_사용자의 이미지

넵. 인정합니다.

사실 글 제목이 적절하지는 않았습니다.
"linux C/C++ IDE에서 STL 변수를 접근 할 때의 문제점" 이런식이었으면 더 좋았을텐데,

Linux C/C++ IDE 디버깅 전반적인 문제점에 대한 얘기가 아니라, 템플릿 기반의 변수들의 값 출력을
좀 더 쉽게하는 방법에 대한 얘기였죠. 글쓰신분도 리눅스 C/C++ 디버깅하기 참 힘들다라고 말씀하시면서
정작 문제를 제기한것은 STL와 관련한 문제 하나뿐이었습니다.

뭐..사실 자유게시판인데 글 제목에 약간 혼동이 있어도 누가 신경쓰겠습니까.
어느정도 푸념이라고 해도 (윈도와 비교하면서) 될만한 글이었다고 생각했고,

문제의 답변은 kkb110이 이미 충분히 하셨기에, 굳이 추가 설명을 더 할 필요성은 못느꼈습니다.

그냥...자유게시판이라 약간의 낚시성 제목과 엮어서( 비록, 글쓰신 분이 낚을려고 저 제목을 선택한건 아니었지만.. )
리눅스에서의 IDE환경에 대해 설명한것입니다.

하지만, 주제 본문의 내용과 직접적인 상관이 없었던것은 인정합니다.
아마, 프로그래밍 질답게시판이었으면 답변을 안했을듯....이미 kkb110님이 답변을 했는데요..뭐

여기부터는 서명입니다.
"저는 인터넷에서 숨어서 정확한 의견을 피력하는 자들과 말을 섞습니다."

february28의 이미지

PS3쪽의 프로그래머들은 윈도우+cygwin으로 개발한다고 하더군요(it블로거가 이정도알면 밥줄끈어지는건가..).. 정확한지는 내비두고,그럴거 같기도 하다고 생각되네요...
리눅스쪽 개발도구들이 좀더 개발될 필요가 많죠....
그들은 천재로서 디버깅이 필요없거나,아니면 비주얼스튜디오를 적절하게 cywin이랑 연동시키는것 같습니다.

--------------------------------------------------------------------------------
open source, open teaching, 천기누설이 꿈~ 은 개뿔...
--------------------------------------------------------------------------------

익명 사용자의 이미지

리눅스 쓰면서 불편하고 후진거는 자랑할만하죠? 남들 오토 몰때
수동기어 바꿔가면서 집구석에서 수리하는거 자랑하시는 분들이
뭘 이런걸로... 돈없으면 몸고생하는거죠

지리즈의 이미지

그리고, 처음으로 오토매틱을 운전하면서 느낀거는...

이겁니다.

오토는 내가 차를 저쪽으로 움직여야지 하면서 차를 몰고 가는데,
매뉴얼은 내가 차를 저쪽으로 움직여야지 하면 차가 이미 거기 가있다는 점이죠...

오토가 편합니다.

그런데, 차의 성능을 100% 끌어 낼려면 매뉴얼 제격입니다.

리눅스와 윈도우를 쓰면서 느끼는 것은...

간단한 작업은 윈도우가 편하지만, 작업이 조금만 복잡해져도...
리눅스(*nix)가 훨씬 작업이 수월하다는 점이죠.

개인적으로는 거창한 IDE를 지원하지 않는 임베디드 혹은 폼웨어, 디바이스 드라이브 환경을 타깃으로 작업을 하다 보니
윈도우나 리눅스나 차이가 없습니다. vi에 콘솔이니까요.

그나마 내가 윈도우보다 리눅스를 좋아하는 것은 compiz 때문입니다.
마우스를 사용하지 않을 경우가 더 많기 때문이죠.

아 창을 크게 해야지... 마우스로 손을 가는 것보다는
창을 크게 해야지 하면 나도 모르게 alt-F10을 눌러서 이미 창이 커져있는것...

그게 오토와 매뉴얼의 차이.. 윈도우와 리눅스의 차이인 것 같아요...

참고로 슈퍼카들은 최소한 세미 오토입니다. 비싸다고 더 편하다는 생각은 오산인 것이죠.

프로페셔녈들은 오토 안 탑니다.

왜냐 하면... 기계가 자신의 의도를 왜곡하기 때문이죠.

진짜 운전을 할 줄 안다면... 자동차로 비유하는 오류는 범하지 않았을 겁니다.

아니면, 매뉴얼 차량을 운전해 본적이 없으시던가...

There is no spoon. Neo from the Matrix 1999.

익명 사용자의 이미지

그러니까 자랑하시라고요. 원글 쓴 사람처럼 리눅스쓰면서 불평하지말고 님처럼 자랑하면서 당당해야지.. 왜 여기서 찡찡대냐는거지요

지리즈의 이미지

"남들 오토 몰때 수동기어 바꿔가면서 집구석에서 수리하는거 자랑하시는 분들이 뭘 이런걸로... 돈없으면 몸고생하는거죠"

1. 한국에서는 집구석에서 수리하지 않는다. 한국에서 자기차 정비하는 사람은 자동차 수리 관련 전문 직업종사 뿐임.

2. 남들 오토 몰때 수동기어 바꾸는 사람들은 실제로 돈이 많거나 프로페셔널 드라이버다. - 돈없어서 몸고생하는게 아님.

한국에서 돈이 없어서 매뉴얼 구입하는 사람은 한명도 없습니다.

실제 매뉴얼을 지원하는 승용차는 외국에서 수입되는 중고급 스포츠카 계열이 대부분.... 그것도 중저가 브랜드에서나 오토가 구입가능하고
그중 오토가 가장 저렴하고 매뉴얼은 비쌈.

There is no spoon. Neo from the Matrix 1999.

hsnks100의 이미지

뒤 늦게 피드백을 답니다. 이 글을 첫 포스팅하고 4년이 지난 후에야 linux + vim 조합에 익숙해지고 vim plugin 만들어볼까 하는 정도로 진입했네요.

이젠 windows 보다 linux + vim 조합에 더 안정감과 만족감을 느낍니다. 중간에 포기도 하고 그랬지만 이제 익숙해졌네요.

그래서 이제 후배들한테 linux 나 vim 관련해서 물어보면 그냥 windows 쓰라고 합니다.

솔직히 말해서 권하고 싶지만 굳이 마이너한 환경으로 자신을 몰아가는것보단 그냥 맘 편하게 메이저한 환경에 있으면 고생은 안하는것 같아요.

----------------------------------------------------

onion의 이미지

세상 모든사람이 불편함을 감수하고 보람을 얻어야 하는건 아니니까요.

하지만 그런 수준에 다다른 사람을 필요로 하는 시장이 아직은 있어서 개인적으로는 의미가 있다 생각합니다 :D

-----새벽녘의 흡혈양파-----

hshin23의 이미지

intellij던, VS던, 이클립스던 돌리면 무겁더군요...
윈도우 매니저도 한번 찾아보세요.
키보드로 거의 모든게 이동가능 합니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 2016-09-30-013305_1600x900_scrot.png114.78 KB
hsnks100의 이미지

스샷은 어떤 commander 인가요

commander 가 입맛에 맞는게 없어서 안쓰다가 이번에 찾아봤는데

이전에 썼던 midnight 이나 이런것들은 단축키 매핑이 너무 불편해서 안썼습니다.

vifm 라고 vim operater 로 file-system 조작하는 툴이 있더라고요.

만족해서 쓰고 있습니다.

----------------------------------------------------

dist777의 이미지

잘은 모르겠지만

hshin23님이 "윈도우 매니져"를 언급하신걸 보니
저 스크린샷도 IDE나 ?!?!Commander계열이 아니라
Window Manager 아닌가 싶네요.
(윗쪽의 상태표시바에 음악플레이 표시도 있는듯 하고..)

설치만 한번 해보고 잘 쓸줄 몰라서 그냥 다른 놈으로 갈아 탄 기억이 있긴 한데
형태로 봐서는 dwm 이랑 비스무리 한데요?!?!

LINUX Window Manager 중에 Tile View 형태를 기본으로 하는 놈 중에서 웹상에 가장 많이 눈에 띄는 놈이 dwm이었습니다.

hshin23의 이미지

리눅스를 사용하게 된지 아직 몇개월이 채 되지 않았는데,
다행히 학교 리눅스 사용자 모임에서 이런게 있다는 걸 알게되서 사용하게되었습니다.
사용후기는 정말 만족스럽고 원래 맥북 유저였는데 os x 를 사용안하게 되는 계기가 되었습니다.
(그리고 리눅스 메인으로 갈아타게도...)
뉴비라서 dwm 이나 다른 타일링 윈도우 매니저 등은 잘 모르는데,
마우스 없는 환경으로 만드니까 정말 편합니다.
웹브라우징이 가끔 불편한데 (파폭에 vimperator 사용중입니다)
https://i3wm.org/docs/ 가보시면 한글은 없지만 영어 매뉴얼이 있습니다.
Syntax 가 괴랄하지 않고 정말 쉬워서 아마 다른 사람 config 파일 한번 훑어보시면
어떤 아이디어는 생기실듯 합니다. 제꺼는 https://github.com/hshin23/dotfiles/blob/master/.config/i3/config 참고하셔도 되구요.
키 설정은 xev로 키이름 받아와서 했었던거 같네요..

hsnks100의 이미지

답변 감사합니다. 근데 학교 리눅스 사용자 모임같은건 어떻게 있는건가요? 부럽네요.

많은 학생들이 linux 사용에 어려움을 겪는 듯 하여 없다면 저도 한번 만들어보고 싶은데 ... 눈에 띄는일 하는거 별로 안좋아해서 ㅜ_ㅜ

----------------------------------------------------

hshin23의 이미지

어떻게 있는지는 저도 잘 모르겠습니다...
다만, 리눅스 같은 경우는 한국의 경우 활성화 되있는 커뮤니티 (+ 업데이트 된)가 많지 않은가 보네요...

hshin23의 이미지

i3wm 이라는 윈도우 매니저입니다.
Alt키나 cmd/win키등을 조합키로 정해서 사용할수있습니다.
단축키는 자신이 원하는 대로 설정할수 있어요.
floating mode 도 지원하구요.
상단 바는 lemonbar 라고, github에 누가 올려놓은 설정파일 받아와서
제 시스템에 맞게 수정해서 사용중입니다!
저는 보통 키보드 (non-애플)에서는 alt+숫자를 워크스페이스 이동, alt+엔터를 터미널 에뮬레이터 실행 등으로 사용하고있습니다.

alstjr7375의 이미지

시대가 좋아져서 Rtags나 Cquery 사용하면 IDE 수준으로 쓸 수 있습니다.
디버깅모드에서 스택트레이스도 추적 가능한 걸로 알고요.

https://black7375.tumblr.com/post/171803821825/rtags-x-cquery%EC%9D%98-%EA%B0%95%EB%A0%A5%ED%95%9C-%EC%A1%B0%ED%95%A9