본문 바로가기

IT/학습

c++과 c#의 컴파일 과정 차이

컴파일

  • C++은 즉시 머신 바이너리 코드로 컴파일 된다. 어플리케이션의 실행 파일을 운영체제가 바로 실행하므로 어셈블리어로 컴파일된다.
  • C#바이트 코드(가상머신을 위한 기계어)로 컴파일 되며,나중에 가상 머신 실행 환경.NET에서 실행되므로 이에 적합한 중간수준 언어인 IL(Intermediate Language)로 컴파일 한다. 
  • 고수준 언어에서 저수준 언어로 컴파일하는 c++의 컴파일 시간이 고수준 언어에서 중간수준 언어로 컴파일하는 c#의 컴파일 시간보다 매우길다.
  • 다만 런타임 속도는 c++이 더 빠르다.
  • C#은 컴파일 타임과 런타임에 엄격한 유형 검사를 시행하는 강력한 유형 언어인 반면,
    C++은 유연성은 높지만 OS를 실행하는 데 심각한 피해를 줄 수 있고 더 많은 오류가 발생할 수 있는 약한 유형 언어이다.
  • 다만 c#은 윈도우 OS위주이며, .NET Framework에서만 돌아간다는 한계가있다.

 

 

참조 : C, C++, C# 언어의 차이점

 

C, C++, C# 언어의 차이점

# C - 절차지향 언어 - 절차지향이기 때문에 하향식 접근 방법을 채택 - 메모리를 직접 관리해야한다. - 가장 빠르고 가장 좋은 성능을 지녔다. - 어떤 플랫폼에서든 사용이 가능하다. - 문법이 틀

chipmunk-plump-plump.tistory.com

 

참조 : C#과 C++ 차이점

 

C#과 C++ 차이점

1. 개요1970년대에 덴마크의 컴퓨터 과학자 Bjarne Stroustrup은 박사 학위 논문을 작성하면서 최초의 객체 지향 프로그래밍 언어인 Simula를 사용하기를 원했습니다. 그러나 Simula는 너무 느린 것으로

advancedtestingservices.tistory.com

 

 

참조 : JIT(Just-In-Time) 컴파일, IL(Intermediate Language), JIT 장점/단점

 

JIT(Just-In-Time) 컴파일, IL(Intermediate Language), JIT 장점/단점

JIT(Just-In-Time)· 필요한 시점에 필요한 만큼만 생산하는 것을 의미합니다.· JIT를 통해 재고를 최소화하고 나아가 비용을 최소로 줄여나가게 됩니다. JIT(Just-In-Time) 컴파일· C# 컴파일러는 C# 소스

codedragon.tistory.com

 

참조 : 바이트코드 - 나무위키

 

바이트코드

바이트코드(Bytecode)는 고급 언어로 작성된 소스 코드를 가상머신 이 이해할 수 있는 중간 코드로 컴파일한

namu.wiki

 

참조 : [C++] C++과 C#의 차이

 

[C++] C++과 C#의 차이

C++는 C와 유사한 구문을 사용하는 저수준 언어이고, \*\*CC++은 어플리케이션의 실행 파일을 운영체제가 바로 실행하므로 어셈블리어로 컴파일된다.C컴파일된 C- 고수준 언어에서 저수준 언어로

velog.io

 

'IT > 학습' 카테고리의 다른 글

readonly와 const의 차이  (0) 2024.11.26
CLR(공용 언어 런타임)  (0) 2024.11.26
DividedByZero ? 흠..  (1) 2024.11.26
실수의 부정확함  (0) 2024.11.26
IDE(통합 개발 환경, Integrated Development Environment)  (1) 2024.11.22