C# .NET 및 Visual Studio 배경 (및 일부 Objective-C/XCode)에서 C++을 처음 사용합니다.IDE에서 작동하는 C++ 코드 작성 방법은 무엇입니까?
크로스 플랫폼 (Windows, OS X, Linux) 응용 프로그램을 C++로 작성하고 싶습니다. 내 Mac에서 TextMate를 시작하고 Windows에서 메모장을 시작하고 커맨드 라인/터미널에서 g ++를 사용하여 코드를 컴파일하여 해당 플랫폼에 실행 파일을 빌드합니다. 내가 IDE (즉 VC++, 엑스 코드 및 이클립스)를 사용하기 시작했을 때
나는 혼란 얻었다. 나는 세 가지를 모두 시도해보고 코드를 붙여 넣기 전에 프로젝트를 만들었다. 하나의 IDE에서 편집을 시작하면 다른 플랫폼에서 컴파일 할 코드를 얻는 방법을 모르겠습니다.예를 들어 클래스 파일이있는 경우 - foo.cpp
입니다. Eclipse에서는 foo.cpp
(그 안에 foo.h
, foo::foo()
) 및 별도의 foo.h
헤더 파일 (그 안에 FOO_H_
파일 등)을 생성합니다. Xcode에서는 Foo
const main.cpp
및 foo.l
폴더를 생성합니다. - 그게 전부입니다. 차이점은 무엇입니까?
비록 C++ 코드가 해당 플랫폼에서 컴파일되면 플랫폼 특정 실행 파일을 생성하는 C++ 코드 일 뿐이지 만. (예 : Mac에서 컴파일, Mac 실행 파일이되고, Windows에서 컴파일하면 Windows 실행 파일이됩니다.)
일단 내가 IDE를 사용하기 시작하면 C + + 코드가 자동으로 변환되지 않는 것 같습니다.이 모든 자동 생성 파일은 내가 이해할 수 없기 때문입니다. 저는 Xcode, Eclipse 및 Visual Studio에 대한 설명서를 동시에 읽으려고합니다. 그러면 혼란 스럽습니다. 난 그냥 C를 쓰고 싶어요 ++ ... 나는 또한 C를 선택 ++와 책에하는 스트로브 스트 룹의 고전 텍스트를 다음입니다
, 헤더 또는 .h
또는 _H_
파일의 소스처럼 아무것도 왜 이러한 모든 파일로 언급되지 않았다 생성되었습니다.
메모장/텍스트 메이트 + G ++ 컴파일러 외에, 크로스 플랫폼이 될 수있는 순수한 휴대용 C++ 프로그램을 어떻게 작성할 수 있습니까? 아니면 가능합니까?
컴파일 단위간에 클래스 정의를 공유하고 다른 소비자에게 라이브러리 인터페이스를 공유하려면 헤더 파일이 필요합니다. 하나의 파일에서 모든 작업을 수행하는 경우에는 필요하지 않습니다. 다른 프로젝트 템플릿은 해당 플랫폼에 유용 할 수 있습니다 (예 : VC는 stdafx.h를 미리 컴파일 된 헤더로 사용하여 빌드 할 때 모든 Windows API 헤더를 포함하여 속도를 높입니다. 걱정되는 경우 템플릿 프로젝트 생성 파일을 버리고 빈 파일로 시작하십시오. – Rup
그리고 'FOO_H_' 등은 [include guard] (http://en.wikipedia.org/wiki/Include_guard)입니다. 동일한 컴파일 과정에서 헤더 파일을 두 번 포함하면 헤더 파일을 두 번 다시 구문 분석하는 것을 피하는 메커니즘입니다 다른 루트 등을 통해 유닛. – Rup