마이크로 포커스 지원 사이트의 설명서에 따라 C 프로그램에서 cobol 프로그램을 호출하려면 아래 단계를 따라야합니다. MicroFocus cobol 명령 cobinit, cobcall 및 cobtidy가 C 프로그램에서 오류를 던지고 있습니다.
main(int argv, char *argv)
{
cobinit(); /* Initialize COBOL environment */
cobcall("cobep", 0, NULL); /* Call a COBOL program */
cobtidy(); /* Close down COBOL environment */
return(0);
}
내가 이미 작동중인 코볼 프로그램을 호출하는 간단한 C 프로그램과 함께 올라와있다이를 바탕으로,하지만 난 오류를 연결 얻고 같아요. 내 코드 및 오류 메시지를 찾으십시오.
C Program
#################
cat call.c
#include<stdio.h>
#include "cobcall.h"
#include "cobmain.h"
int main()
{
int ret=0;
cobinit();
ret=cobcall("cobolprogram.gnt",1,NULL);
cobtidy();
return 0;
}
`
##########################gcc -Wall call.c -o call
call.c: In function 'main':
call.c:10: warning: pointer targets in passing argument 1 of 'cobcall' differ in signedness
/usr/ccs/bin/ld: Unsatisfied symbols:
cobtidy (first referenced in /tmp/ccQBPw6r.o) (code)
cobcall (first referenced in /tmp/ccQBPw6r.o) (code)
cobinit (first referenced in /tmp/ccQBPw6r.o) (code)
collect2: ld returned 1 exit status
내가 새로운 오전 수신 오류 메시지 C와 Cobol 프로그래밍, 이것이 매우 어리석은 질문이라면 저를 용서해주십시오.
감사 & 감사합니다, Jibi
시몬에게 감사드립니다. –
@ JibiMakkar 해답을 해결책으로 표시해 주셔서 감사합니다. 나는 그것을 더 좋게하고 싶다 : 당신이 사용해야만했던 도서관 이름은 무엇인가? BTW : C (gcc)와 COBOL 둘 다 시작하면 MF를 명시 적으로 필요로하지 않는다면 GnuCOBOL을 살펴볼 것을 강력하게 제안합니다. –
먼저 다음과 같이 cobol 프로그램을 컴파일했습니다. cob -zv "cobolprogram".cbl - 공유 라이브러리를 생성하고 아래 주어진대로 C 프로그램을 컴파일합니다. cob -xvo "name"-CC -I $ CODDIR/include "program".c 사실, 라이브러리를 찾을 수 없습니다. 네가 내 시스템에서 언급 했어. 귀하의 대답에 그때 발견 된 개암 나무 도서관, 그것은 올바른 방향으로 나를 인도한다. 아직도 나는 어디에 cobinit, cobcall과 cobtidy에 대한 도서관 extacly 확실하지 않습니다. 나는 "개떡"명령이 그것을 처리한다고 믿습니다. 의견을 보내주십시오. –