2013-02-27 2 views
0

VMS의 C++ 프로그램에서 값을 전달하려고합니다.Openvms C++ - 환경에 값을 전달하는 방법

$DESCRIPTOR(lname, (char*) "A"); 
$DESCRIPTOR(lvalue, (char *) "Hello World"); 
lib$set_logical(&lname, &lvalue); 
lib$set_symbol (&lname,&lvalue); 

작동해야합니까? 만약 내가 어떻게 수정합니까?

반환 값을 어떻게 확인할 수 있습니까?

성공하면 어떻게 체크인 할 수 있습니까?

제대로 작동합니까? (권한에 의존하지 않음).

답변

2

는 제 descrip.h에, $ DESCRIPTOR가 정의하는 방법을 체크 아웃 : 당신의 예에서 #define $DESCRIPTOR(name,string) struct dsc$descriptor_s name = { sizeof( string)-1, DSC$K_DTYPE_T, DSC$K_CLASS_S, string }

에게 (숯불 *)의 크기에서 파생 LNAME 모두 3를 포함 좌변의 첫 번째 요소를, 그러나 문자 배열의 크기에서 파생 된 문자열의 길이가 예상됩니다.

+0

당신이 옳은 것 같다. – user1987442

1

설명자를 올바르게 수행하는 방법과 표준 오류 검사 방법을 포함하여 lib$set_symbollib$set_logical에 대한 C의 작동 예제입니다. 이러한 기능을 수행 할 권한이 필요하지 않으므로 "신뢰할 수 있습니다".

, 당신은 (내 예제) 입력합니다 프로그램의 결과를 보려면 :

$ SHOW SYMBOL/GLOBAL LIB_SET_SYMBOL_TEST 

과 :

$ SHOW LOGICAL LIB_SET_LOGICAL_TEST 
관련 문제