MF COBOL中怎么调用C写的函数

dispatchwengqun 2003-01-22 05:18:46
现在有C写的程序(DLL或其它形式都可以):
void C_Meslog()
{
printf("this is C message");
return;
}
在COBOL中怎么调用?
...全文
340 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dispatchwengqun 2003-01-23
  • 打赏
  • 举报
回复
郁闷!!!!!!!!!!!!
没有哪位大侠搞得定吗?
纪兴城 2003-01-23
  • 打赏
  • 举报
回复
好像C的函数必须加上一个特定的头,具体没用过
CALL data-name USING param-list
data-name:动态调用的模块名
zoroo23 2003-01-23
  • 打赏
  • 举报
回复
我刚自学BOBOL,虽然看不懂,但我还是要称赞几句:好厉害!
我自己学的觉得很难,非常急,你们有什么好的经验吗?
我看了书,知道它的写法和语句,但还是不知道怎样用他。一般公司里用COBOL到底是干什么? 是编写软件吗?还是打印报表什么的,我一点都不懂,还请高手们赐教。
dispatchwengqun 2003-01-23
  • 打赏
  • 举报
回复
自已搞定了,需要在COBOL头上写上函数定义的代码(写成COPY句也可以),然后使用CALL就可以了。不过仍然不能做到CALL一个DLL中的多个导出函数,只能调用最前面定义的那个。
PROGRAM-ID. "C_TYPEDEFS" IS EXTERNAL.
77 C-TYPE-CHAR PIC X IS TYPEDEF.
77 C-TYPE-INT PIC S9(009) COMP-5
IS TYPEDEF.
ENTRY "C_DateCalc" USING
BY REFERENCE C-TYPE-CHAR
BY REFERENCE C-TYPE-CHAR
BY VALUE C-TYPE-INT
BY REFERENCE C-TYPE-CHAR
RETURNING C-TYPE-INT.
END PROGRAM "C_TYPEDEFS".

...

MOVE "20030101" TO DAA-PRM-INYYMMDD.
MOVE "1" TO DAA-PRM-KBN.
MOVE 3 TO W9-INT-VALUE.
CALL "C_DateCalc" USING DAA-PRM-INYYMMDD
DAA-PRM-KBN
W9-INT-VALUE
DAA-PRM-OTYYMMDD
RETURNING W9-RTN-VALUE.
DISPLAY DAA-PRM-OTYYMMDD UPON CONSOLE.
DISPLAY W9-RTN-VALUE UPON CONSOLE.
...

谁来说评论两句,有道理就散分给谁。
warton 2003-01-22
  • 打赏
  • 举报
回复
没用过!
dispatchwengqun 2003-01-22
  • 打赏
  • 举报
回复
我指的是在MF COBOL中

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧