d x86 cmpxchg 비교 및 스왑을 사용한 기능
해결책
문서에서 : http://www.digitalmars.com/d/2.0/overview.html
인라인 어셈블러
장치 드라이버, 고성능 시스템 애플리케이션, 임베디드 시스템 및 전문 코드는 때때로 작업을 완료하기 위해 어셈블리 언어로 딥해야합니다. D 구현은 인라인 어셈블러를 구현할 필요는 없지만 언어의 일부와 일부는 정의됩니다. 대부분의 어셈블리 코드 요구 사항을 처리 할 수있어 별도의 어셈블러 또는 DLL이 필요하지 않습니다.
많은 D 구현은 또한 I/O 포트 조작에 대한 C의 고유의 지원, 특수 부동물 포인트 작업에 대한 직접 액세스 등 C의 지원과 유사하게 고유 기능을 지원할 것입니다.
따라서 이론적으로 CMPXCHG를 직접 사용할 수 있습니다.
편집하다
당신은 다음을 원할 수 있습니다 : http://www.dsource.org/projects/tango/browser/trunk/tango/core/atomic.d?rev=4277
어떤 이유로 든로드하는 데 시간이 걸리지 만 내부적으로 CMPXCHG 명령을 사용하고 있습니다. 목적을 위해이를 재조정하는 것은 사소한 일이어야합니다.
제휴하지 않습니다 StackOverflow