문제

루비는 성능이 중요하고 일반적인 루비가 작업에 달려 있지 않은 비트에 대해 C로 내려 놓을 수 있으며, C는 동일한 종류의 상황을 위해 조립에 빠질 수있게 해줍니다. Ruby 코드 내부에 C 코드를 삭제 한 다음 C 코드 내에서 Assembly까지 아래로 떨어지면 어셈블리 언어를 삽입 할 수 있습니다.

나는 항상 가능하다는 것을 희망하지만 지금까지는 결코 그것을 확인하거나 부인할 수있는 것을 발견하지 못했습니다. 측면 프로젝트의 Qt (그리고 따라서 C ++)에 대한 연구 때문에 Ruby-LANG.com의 C & C ++로 루비 비교

  • 조립
  • 를 삭제할 수 없습니다.

이것은 단순히 직접 을 어셈블리로 가거나, C를 전혀 그것을 할 수 없도록 할 수 없다는 것을 의미합니까? C : C (루비에 내장되어 있지 않은) 그냥 조립품을 사용할 수 있으므로 루비는 여전히 조립품으로 C로 사용할 수있는 것으로 가정 할 수 있습니다.

도움이 되었습니까?

해결책

맥락을 감안할 때 ruby 에서 의미가 꽤 분명 해지는 것처럼 보입니다.

def func1(arr)
  arr.map { |v| func2(v) }
end

def func2(val)
  asm do
    mov ax, 1234h
    mov bx, ax
  end
end
.

루비는 연결된 C 객체에서 그런 것을 사용하지 못하게 할 수 없습니다.

그러나 예를 들어 누군가가 그것을 만들면 꽤 멋진 도서관이 될 것입니다.:)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top