현 리눅스 서버 및 네트워크 유지보수 일하는 사람입니다.
언어는 C 밖에 안해봐서..
취미로 업무 분야를 좀 넓혀볼려고 하는데
제가 하고 싶은게 윈도우 프로그램을 만드는 겁니다. 간단한건 뭐 notepad 정도 있겠죠 조금 더나가면 일반 상용프로그램 같은 윈도우에서 돌아가는 프로그램이요.
근데 찾아봐도 명확한 답을 못찾겠네요.
C++를 이용하여 MFC 프로그래밍으로 윈도우 프로그램을 만드는게 맞는 건가요?
아니면 C#으로 닷넷 프로그래밍으로 윈도우 프로그램을 만드는게 맞는 건가요?
언어는 해본적이 거의 없어서 위의 제시한 것도 무슨소린지 잘 모르긴합니다..
.. 가능하다면 자세하게 답변 부탁드립니다.
감사합니다.
C#해라. MFC는... 익숙해지는 데 시간이 많이 걸릴 거다.
급한 사람은 닷넷 합시다
가능하면 자세한 이유도 좀..
이유? 씨샵이 존나 쉬운 언어니깐.
WIN32 API가 존나게 많고 복잡해서
간단히 얘기해서 MFC는 C++ 언어의 정수를 녹여내서 Win32 GUI 프로그래밍을 클래스로 우려낸 건데 이게 무진장 복잡해서 C++, API에 대한 지식이 많아야지 자유자재로 할 수 있게 됨. 반면 C#? 걍 마우스가지고 왠만한 건 다 끝나고 함수 찾는 것만 잘하면 엔간한 건 다 됨.
아 질문있음.
어디서 들은건데, C++과 MFC로 만든건 그냥 첨 깐 윈도우에서도 돌아가고, C#으로 만든건 윈도우에 닷넷 깔아야 돌아감?
처음 깐 윈도우에 돌아간다고 누가 그럼, 윈도우 지보다 늦게 나온 VC로 만들면 런타임 버전 안 맞아서 안 돌음
나랑 비슷한 고민... 나도 독학으로 해볼까 생각중인데 당췌 뭘해야할지 감이 아직 안옴. 간단요약해보면 MFC with Visual C++은 한물가서 요즘엔 안하고 WPF with Visual C#이 대세라는 분위기인데 내가 분위기 파악 제대로 한건지 모르게씀.
첨 깐 윈도우에서도 도는 거 원하면 Visual C++ 6.0써서 개발하든지. 최신 컴파일러는 C++든 C#이든 운영체제보다 이후에 나온 컴파일러면 뭐 깔아야 되는 건 필수임.
질문게이//Native excution 말씀하시는 것 같은데 VC++6.0이나 VS20XX C++또는 VS VS20XX C#이나 실행코드를 받은 사람이 뭘 깔아야 하는건 비슷한 것 같아요. VC++ 6.0으로 개발한 풀그림도 어차피 DLL(윤익수에서는 .so 라이브러리) 버전을 맞춰야 하기 때문에 라이브러리를 같이 배포해야하고 .NET 상에서 개발한 VC++/VC# 풀그림은 .NET 프레임워크 버전을 맞춰야해서 이것도 뭘 같이 배포해야하는 것 같습니다(윈도 설정에 따라 자동업데이트 되기도 함)
엠에스초보 // 이건 뭔 개소리? VC++ 6.0은 따로 안 깔아도 되는데?
VC++ 6.0을 한번도 써보지 않은 애같네.
ㄴ 안써본건 맞아...그래서 어떻게 시작해야하는지 헤메고 있다고 했구만... 근데 그게 개소리인가? 무식해서 떠드는 거니까 설명좀 해줘봐.... Microsoft Visual C++ Redistribuatable - x86 *.*.**** 인가 뭔가 이런건 뭐야? VC++로 MFC 프로그래밍하면 DLL 같은건 맞춰줄 필요가 없는건가?
Redistributable 까는 건 7.0 이후에 나온 거고 멍청아. 6.0 땐 추가 dll 같은 거 없어도 exe 하나만 가지고 실행 잘 됐어. MFC도 VC++에선 mfc42.dll 써서 컴파일할 수도 있지만 static library 써서 dll 필요없이 컴파일할 수도 있었고. 7.0 이후에 단순 헬로 월드 c 프로그램도 dll 이 필요하게 된 거.
7.0은 당연히 VS2003 말하는 거고.
그래서 니가 한 말이 개소리가 맞냐고? 응. 맞아. ^^ 써 본 적도 없고 잘 모르면 주둥아리 함부로 나불대지 말자. 괜히 초보자 혼동주지 말고. 아니 잘 모르면 씨발 반박이라도 하질 말던가. 열 받게 만드네. 내 말에 정면으로 반대해 놓고 뭐? 그게 개소리냐고?
\"VC++ 6.0으로 개발한 풀그림도 어차피 DLL(윤익수에서는 .so 라이브러리) 버전을 맞춰야 하기 때문에 라이브러리를 같이 배포해야하고\" 이 말을 하질 말란 말이야. VC++ 6.0 한번도 서 본 적 없고 잘 모르면 말이야 씨발아. 왜 내가 한 말을 정면으로 반대하냐고.
오타: 서 본 적 없고 > 써 본 적 없고
ㄴ ㅎㅎ 뭘 그렇게 흥분하고 그래... 프겔에서 초보가 생존하는 방식이구만... 이렇게라도 무식하게 떠들어야 고수들이 나와서 한 수 펼칠꺼 아냐.. 봐~ 벌써 질문게이가 물어본 것에 대해서 대답해준게 초보들 수준에서는 이해하기 힘들어.. 그러니까 엉성하게 이해했더라도 그걸 떠들어 대야 잘못이해한 것을 수정할 기회를 갖는 것이고...
Native execution이니 뭐니 초보한테 어려울 법한 용어 쓰면서 유식한 척 하려던 건 너면서 발리니깐 딴 소리하네?
치졸해 보이니까 그냥 할 말 없으면 딴소리나 말고 잠적이나 해라.
ㄴ 그렇다면 VC++6.0은 추가라이브러리나 라이브러리 버전매치문제 없이 운영체제에서 제공하는 라이브러리만 가지고 실행가능하다.. 이렇게 이해하면 되겠구만.... VC++ 7.0 이후로는 DLL이 모두 필요하고 이것은 버전 호환문제가 발생할 소지가 있다고 이해하면 되는건가? (오타 수정같은거 할 필요없어..대충알아서 이해하고 그런거 가지고 딴지 안검)
ㅅㅅㅅ는 더 알아야 할게 없어서 유식한 척이나 치졸의 개념이 머리속에 있는지 모르지만 난 배워야할게 많아서 그런거 신경쓸 여유가 없어... 다른 글에서 답글 올린건 (봤는지 모르겠으나) 질문하기만 하기 미안하니까 내가 아는게 있으면 안는 수준에서 대답한거고...
ㅅㅅㅅ//던가->든가