COBOL程序B有3个入口点。link段包含1个通用区域,然后是3个区域(分别称为link-sect-a、link-sect-b和link-sect-c) Cobol程序A使用条目3调用程序B。
CALL PROGB-ENTRY3 using common area, link-sect-c
问题似乎出在GnuCobol上,在编译完这两个之后,程序B中入口点3之后的任何内容都像下面这样简单
DISPLAY 'First 50 bytes in link-sect-c 'link-sect-c(1:50)
相反,如果我将程序A中的调用(以及程序B中的条目3以包含所有4个参数)更改为
CALL PROGB-ENTRY3 using common area, link-sect-a, link-sect-b, link-sect-c
(即使我既不需要link-sect-a也不需要link-sect-b)代码可以工作
如果需要,我可以包含两个示例程序,因为它们确实非常琐碎
发布于 2019-07-03 16:56:14
我在程序B的编译中添加了-fsticky linkage选项,这样就解决了这个问题。(很容易确认这一点。删除该选项并重新编译;重新引入问题)
https://stackoverflow.com/questions/56860412
复制相似问题