0

在讨论将 OpenCOBOL 用于 FastCGI 时,我发布了替换

#include <stdio.h>

#include <fcgi_stdio.h>

对于绝大多数不想调用的程序,应该不会表现出行为变化

FCGI_Accept()  

我撒谎了吗?有需要考虑的问题吗?我承认还没有查看来源,只有网站上的文档。

编辑:2013-03-08 我做了一些实验,该陈述被证明是积极的,但缺乏足够的证据来宣传该陈述是真实的。我仍然很感激任何内幕消息。

4

1 回答 1

1

正如fcgi_stdio.h将许多 stdio 符号重新定义为其自己的 FCGI_* 符号集一样,肯定会有一些差异。不过, Fastcgi 也提供了这种可能性#define NO_FCGI_DEFINES,它允许您同时使用这两个集合——尽管您必须明确指定 FCGI_ 前缀。

我只是在考虑添加一种方法来确定在运行时使用哪个集合,以便能够在线和从 cli 使用相同的二进制文件,但进一步考虑它我宁愿使用两个make目标。

此外,使用 libfcgi-dev v2.4.0 进行编译时,我似乎遇到了与-ldl/一起出现的空白输出,dlopen()尽管两个二进制文件都链接到同一个 libfcgi.so.0 ...

--

tl;dr 如果您想使用dlopen()并查看 stdout/stderr 上的输出,请不要#include <fcgi_stdio.h>(不定义NO_FCGI_DEFINES

于 2013-06-12T14:43:47.347 回答