我们正在将应用程序从 HP-UX 迁移到 LINUX,一些 C 代码使用 EXTSM 函数进行排序,但应用程序使用 GNU COBOL 的 COBOL 代码。因此,在编译时我们遇到了未声明的函数错误。如何在c代码中替换这个函数。
错误:调用未声明的函数“EXTSM”; ISO C99 及更高版本不支持隐式函数声明 [-Wimplicit-function-declaration] EXTSM(func_cod, fcd);
我们检查了下面提供的链接,也许我们需要使用 SORT 来代替。
https://bigdanzblog.wordpress.com/2020/11/09/cobol-sort-module-in-gnucobol/
EXTSM
是一个外部 COBOL SORT
处理程序,在某些实现以及外部“产品”中可用。
GnuCOBOL 没有发布的版本规定,如果您使用 GnuCOBOL 3.1.2+ 并且可以很好地修补它,那么您可以包含一个应该已经在“大多数情况”下工作的 work-in-progress。
最好的开始是
当前的 GnuCOBOL 3.2 快照(被认为是稳定的)。
CALL 'EXTSM'
替换为 COBOL
SORT
语句,如您所知。