리눅스와 윈도우즈에서 C++프로그래밍의 차이점 문의

ianryu의 이미지

제가 계속 Java만 윈도우즈7-이클립스 환경에서 사용하다가
요즘 C++을 배우면서 리눅스를 사용해야 하는 환경에 놓이게 되었습니다.
간략히 설명 드리자면, ubuntu 최신버전깔고 거기에 이클립스C++용을 설치해 사용하고 있습니다.
그 전에는 윈도우즈7에서 이클립스 C++ 기능을 추가해 사용했었는데요, 이 두 방법이 차이점 중에
궁금한 점이 생겨서 질문드립니다.

윈도우즈-이클립스 버전에서 Mingw라는 컴파일러? 류의 추가 설정이 필요하던데 리눅스에서는 그렇지 않네요.
이게 아마 제가 어설프게 알기로는 윈도우즈에서 MAKE파일을 다룰 수 없어서 그런가 보다 하는데요,
이 차이를 좀 제가 알아듣게 설명 해 주실 분 계실까요?(이제 막 리눅스-C++ 시작한 초보입니다)
MAKE파일에 대해서도 아직 너무 어설프게 알고 있어서 함께 설명해 주시면 감사하겠습니다.

익명 사용자의 이미지

MingW는 유닉스 호환, 특히 GNU build system(autoconf, automake, libtool, make,
gettext, pkg-config, gcc, etc)과 glibc를 윈도우 시스템에서 동작하도록 하는 호환 레이어 입니다.
MingW 외에 Cygwin이나 MSYS 등 유닉스 호환 레이어들도 있어요.

윈도우 이클립스에서 그런 설정이 필요했던 이유는 그러한 유닉스 호환 레이어 위에서 작동하는 IDE이기 때문이겠죠.

Linux에서는 이미 이러한 것들이 네이티브하게 모두 갖추어져 있거나 쉽게 구비할 수 있으니 필요없는 것이구요.

GNU build system

make는 빌드를 자동화하는 툴이구요. 여러 의존성이나 레서피 등을 Makefile에서 설정합니다.

make 구현은 BSD Make, GNU Make, MS nmake 등이 있는데 각자 확장 문법이나 기능들을 제공합니다.

오픈 소스는 당연 GNU build system을 많이 사용하구요.

target: dependency
      recipe

기본 구조에 macro, variable, suffix rule 등이 기본 문법이고,

GNU Make의 경우 pattern rule, function 등이 가미가 되어 확장된 기능을 제공합니다.

Make

GNU Make Manual

oosap의 이미지

1. 백창우씨 책 '리눅스 유닉스 필수 유틸리티' 라는 책(새버전)에서 Make 부분에 필요한 내용이 잘 정리되어있습니다.

2. http://studyfoss.egloos.com/5343014

1번을 읽으시고요 automake 에 대해 실용적인 설명을 찾으시면 2번까지 공부해보심 되겠습니다.

리눅스에서 Make 하는 방법을 물으시는 것 맞죠?

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.