我一直在尝试自学 COBOL。在尝试这样做时,我遇到了一个我无法弄清楚的问题。
我正在运行 ubuntu 16.04,并使用 GnuCOBOL (Open-COBOL) 进行编译。我认为这可能是存储库中 Open-COBOL 版本的问题,因此我从源代码进行了编译,并收到了相同的问题。
当尝试运行此代码时:
IDENTIFICATION DIVISION.
PROGRAM-ID. Multi.
DATA DIVISION.
WORKING-STORAGE SECTION.
*> Group Value
01 VALS.
*> Elementary Value
05 VAL-1 PIC 9(03) VALUE 4.
05 VAL-2 PIC 9(03) VALUE 3.
05 RESULT PIC 9(06).
PROCEDURE DIVISION.
MULTIPLY VAL-1 BY VAL-2 GIVING RESULT.
DISPLAY "Result is =" RESULT.
DISPLAY 'GROUP DATA ITEM = ' VALS.
Run Code Online (Sandbox Code Playgroud)
我收到:
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
我编译的是:
cobc -free -o Multi.o ./Multi.cob
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚我做错了什么以及导致段错误的原因。有任何想法吗?提前致谢!
从您的评论来看,您似乎将该模块误认为Multi.o是可执行文件。Multi从模块运行程序的方法是cobcrun Multi。
或者,您可以使用创建普通的可执行文件cobc -x。
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |