다음을 통해 공유


부동 소수점 값을 사용하여 MOF 코드 컴파일

MOF 컴파일러는 비부동 소수점 속성에 지정된 부동 소수점 값을 허용합니다. 값은 올림 또는 버림 처리된 후 비부동 소수점 숫자로 저장됩니다. 이 상황은 예기치 않은 결과를 유발할 수 있습니다.

다음 MOF 코드 예제에서는 "Test"라는 네임스페이스에서 abc 라는 클래스를 정의합니다. 이 MOF 코드는 오류 없이 컴파일하지만, 이 코드가 만드는 인스턴스에 있는 속성 exampleUint16에 대해 정의된 부동 소수점 값은 쿼리할 수는 없습니다.

#pragma namespace ("\\\\.\\Root")

instance of __Namespace
{
    Name = "Test";
};

#pragma namespace ("\\\\.\\Root\\test")

Class abc
{
        [KEY] String testID ;
        Uint16 exampleUint16;
        Real64 exampleReal64;
};

Instance of abc
{ 
        TestID ="exampleID";
        exampleUint16 = 1000.4;
};

다음 쿼리를 실행하면 잘못된 쿼리를 나타내는 오류 코드가 표시됩니다.

SELECT * FROM abc WHERE exampleUint16 = 1000.4

그러나 다음 쿼리는 표시된 인스턴스를 찾습니다.

SELECT * FROM abc WHERE exampleUint16 = 1000

MOF 파일 컴파일

mofcomp

전처리기 명령