我正在创建一个包含日志记录类的 Windows DLL 库,该类中的日志函数只是像这样调用 fprintf 以进行测试:
fprintf(stderr, "DEBUG: %s\n", "Hello");
现在,如果我从我的其他项目(使用库)的任何文件中的任何函数中使用它,这个调用就可以正常工作,但是如果我将它放在我的库中的任何位置,带有日志记录类,它根本不会打印任何东西。
我可以看到它正确运行函数(使用简单的 exit(0); 进行测试)。
现在我对 c/c++ 中的整个库概念仍然有点新,所以可能有些东西我只是不明白,但否则我不知道为什么它不起作用。
我试着在这里和谷歌上搜索,但我找不到其他人有同样的问题。
我使用 VC++ 2010
编辑:我想到了传递文件指针而不是仅使用库中的 stderr,这会导致抛出异常(文件的 _tmpfname 指针在抛出时为 NULL,我不确定这是正确的)