«compiler» 태그된 질문

컴파일러는 한 프로그래밍 언어로 작성된 소스 코드를 다른 컴퓨터 언어로 변환하는 컴퓨터 프로그램입니다.

5
매우 기본적인 컴파일러를 작성하는 방법
gcc코드가 작성된 언어 (예 : C, C ++ 등)에 따라 코드를 컴퓨터 판독 가능 파일로 컴파일하는 것과 같은 고급 컴파일러 실제로, 해당 언어의 라이브러리 및 기능에 따라 각 코드의 의미를 해석합니다. 틀린 점 있으면 지적 해주세요. 정적 파일 (예 : 텍스트 파일의 Hello World)을 컴파일하기 위해 매우 기본적인 컴파일러 (아마도 …
214 c  compiler  compilation  gcc 

10
Ken Thompson의 컴파일러 핵은 여전히 ​​위협입니까?
켄 톰슨 해킹 (1984) Ken Thompson은 1984 년에 컴파일러 바이너리 (및 * nix 시스템의 로그인 스크립트와 같은 다른 컴파일 된 소프트웨어)를 손상시키는 방법을 설명했습니다. 최신 컴파일이이 보안 결함을 해결했는지 궁금합니다. 간단한 설명: 두 가지 결함을 포함하도록 컴파일러 코드를 다시 작성하십시오. 자체 바이너리를 컴파일 할 때 컴파일러는 이러한 결함을 컴파일해야합니다 미리 …
156 linux  unix  compiler  hacking 

5
Java가 꼬리 재귀에 대해 전혀 최적화되지 않은 이유는 무엇입니까?
내가 읽은 것에서 : 그 이유는 상속을 받았을 때 실제로 어떤 메소드가 호출 될지를 결정하는 것이 쉽지 않기 때문입니다. 그러나 왜 Java가 정적 메소드에 대해 꼬리 재귀 최적화를 가지고 있지 않고 컴파일러로 정적 메소드를 호출하는 적절한 방법을 시행하지 않는 이유는 무엇입니까? 왜 Java는 꼬리 재귀를 전혀 지원하지 않습니까? 여기에 어려움이 …


6
가비지 수집은 기본적으로 컴파일 된 언어로 어떻게 작동합니까?
스택 오버플로에서 여러 답변을 탐색 한 후 일부 네이티브 컴파일 언어에는 가비지 수집이 있음이 분명합니다 . 그러나 이것이 정확히 어떻게 작동하는지는 분명하지 않습니다. 가비지 수집이 해석 언어와 어떻게 작동하는지 이해합니다. 가비지 콜렉터는 단순히 인터프리터와 함께 실행되며 사용되지 않고 도달 할 수없는 객체를 프로그램 메모리에서 삭제합니다. 그들은 둘 다 함께 달리고 …

11
소프트웨어 OS가 특정한 이유는 무엇입니까?
특정 운영 체제에서 프로그래밍 언어를 사용하여 제작 된 소프트웨어가 작동하는 이유에 대한 기술적 세부 정보를 확인하려고합니다. 바이너리는 그들이 이해하는 프로세서 특정 기계 언어와 다른 프로세서간에 다른 명령어 세트로 인해 특정 프로세서에 고유하다는 것을 이해합니다. 그러나 운영 체제 고유성은 어디에서 오는가? 나는 그것이 OS에서 제공하는 API라고 가정했지만 책 에서이 다이어그램을 보았습니다. …

5
파이썬은 해석되거나 컴파일됩니까?
이것은 해석되고 컴파일 된 언어에 대해 읽는 동안 궁금했습니다. 루비 는 소스 코드가 실행 시점에 인터프리터에 의해 처리되므로 인터프리터 언어는 의심의 여지가 없습니다. 반대로 C 는 컴파일 된 언어입니다. 먼저 머신에 따라 소스 코드를 컴파일 한 다음 실행해야합니다. 이 결과는 훨씬 더 빠른 실행입니다. 이제 파이썬 으로 왔습니다 . 가져올 …

5
왜 C 컴파일러가 그렇게 적은가?
C는 세계에서 가장 널리 사용되는 언어 중 하나입니다. 기존 코드의 상당 부분을 차지하며 방대한 양의 새 코드에 계속 사용됩니다. 그것은 사용자들에게 사랑 받고 있으며, C를 실행할 수 있다는 것은 많은 비공식적 인 플랫폼 정의에 대한 것으로 널리 알려져 있으며, 상대적으로 깨끗한 기능 세트를 가진 "작은"언어로 팬들에게 찬사를 보냅니다. 그렇다면 모든 …


19
컴파일러는 어떻게 그렇게 신뢰할 수 있습니까?
우리는 정확성이 주어진 것처럼 매일 컴파일러를 사용하지만 컴파일러도 프로그램이며 잠재적으로 버그를 포함 할 수 있습니다. 나는 항상이 완벽한 견고성에 대해 궁금했다. 컴파일러 자체에 버그가 발생한 적이 있습니까? 이것이 무엇이며 컴파일러 자체에 문제가 있다는 것을 어떻게 알았습니까? ... 어떻게 합니까 그들은 컴파일러 그렇게 신뢰성을?

10
함수 오버로드에만 C ++ 컴파일러를 사용하는 것은 나쁜 습관입니까?
그래서 특정 프로세서에 C를 사용하여 소프트웨어 설계를 진행하고 있습니다. 툴킷에는 C와 C ++를 컴파일하는 기능이 포함되어 있습니다. 내가하고있는 일에 대해이 환경에서 사용할 수있는 동적 메모리 할당이 없으며 프로그램은 전반적으로 매우 간단합니다. 이 장치에는 프로세서 전원이나 리소스가 거의 없다는 점은 말할 것도 없습니다. C ++을 전혀 사용할 필요가 없습니다. 즉, 함수 …

14
해석 된 코드와 컴파일 된 코드의 성능에 대한 일반적인 진술을 할 수 있습니까?
회사가 사용해야 할 권장 사항에 도달하기 위해 두 가지 기술을 비교하고 있습니다. 기술 A의 코드는 해석되는 반면 기술 B의 코드는 기계 코드로 컴파일됩니다. 필자의 비교에서 나는 기술 B가 해석 프로세스의 추가 오버 헤드가 없기 때문에 일반적으로 더 나은 성능을 가질 것이라고 언급했다. 또한 프로그램을 여러 가지 방법으로 작성할 수 있기 …

8
컴파일러, 어셈블러, 기계 명령어 등과 같은 컴퓨터 프로그래밍의 하위 구성 요소가 완벽하다는 것을 어떻게 확신 할 수 있습니까?
우리는 일상 생활의 매우 중요한 작업을 포함하여 컴퓨팅에 점점 더 의존하고 있기 때문에 중요한 구성 요소를 어떻게 테스트하는지 궁금했습니다. 보다 기술적으로 컴파일러와 어셈블러는 어떻게 테스트됩니까? (이것은 정지 문제 와 관련이 있다고 가정합니다 !!)

9
인텔 컴파일러는 Microsoft 컴파일러보다 정말 낫습니까? [닫은]
몇 년 전 인텔이 Visual Studio 호환 컴파일러를 판매한다는 사실을 알게되었을 때 놀랐습니다. 환상적인 진단 도구뿐만 아니라 특히 C / C ++에서 시도했습니다. 그러나 코드는 그 차이를 알아 차리기 위해 계산 집약적이지 않았습니다. 유일한 인상은 : 인텔이 지금 당장 나를 위해 해냈 는가, 나노초 해상도의 놀라운 툴, 믿을 수 없을 …
56 compiler 

5
"문맥없는 문법"이란 용어에서 "문맥없는"이란 무엇입니까?
CFG (context-free grammar)가 무엇인지 설명하려고하는 자료의 양을 감안할 때, 나는 그 문법이 왜 "문맥- 비어 있는". 그리고 내 마음에, 아무도 그렇게하지 못했습니다. 제 질문은 왜 문맥이없는 문법이 문맥이없는 것입니까? "컨텍스트"란 무엇입니까? 컨텍스트가 현재 분석 된 구문을 둘러싼 다른 언어 구문 일 수 있다는 직관이 있었지만 실제로는 그렇지 않습니다. 누구나 정확한 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.