Javascript C++;node.js模块。不能工作吗? >我是C++中的NoOB,试图修改现有的本地节点模块。

Javascript C++;node.js模块。不能工作吗? >我是C++中的NoOB,试图修改现有的本地节点模块。,javascript,c++,node.js,node.js-addon,Javascript,C++,Node.js,Node.js Addon,我试图在模块内添加couts,以打印我认为对我有用的信息 NAN_METHOD(Context2d::SetFillRule){ Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This()); cairo_t *ctx = context->context(); String::Utf8Value str(info[0]); cout << "set method calle

我试图在模块内添加couts,以打印我认为对我有用的信息

NAN_METHOD(Context2d::SetFillRule){
  Context2d *context = Nan::ObjectWrap::Unwrap<Context2d>(info.This());
  cairo_t *ctx = context->context();
  String::Utf8Value str(info[0]);
  cout << "set method called";
  ...
}
NAN_方法(Context2d::SetFillRule){
Context2d*context=Nan::ObjectWrap::Unwrap(info.This());
cairo_t*ctx=context->context();
字符串::Utf8Value str(信息[0]);

cout如果它在windows中,您可以尝试创建另一个控制台窗口。然后将您的上下文绑定到该窗口,并将打印重定向到该窗口


或者写入文件。

我建议改为将其写入日志文件(重定向std::cout很痛苦)

std::of流日志文件(“logFile.txt”);

logFile我正试图学习N-API为nodejs项目制作一个插件,但遇到了同样的问题。添加
#include
made
std::cout
可用于我的代码。当我像为任何nodejs项目调用
node path_to_file.js
来运行代码时,它会成功地将我的数据打印到控制台。我知道目前,您正在使用NAN,可能很久以前就已经解决了这个问题,但我觉得给出这个答案很重要,因为这出现在我的搜索结果中,对于像我这样的初学者来说,没有一个好的答案。

二进制文件是如何发布的?我们可以了解一些上下文吗?您确定要通过这个特定的方法吗?您是否尝试使用t调试器?我按照建议使用节点gyp进行配置和构建。是的,该方法确实有效。应该进行的更改已经完成。cout是我唯一看不到的东西。不,我没有测试调试器。我猜标准输出会重定向到日志文件。如果您处于*nix下,您可以
lsof pid
您的进程ess以查找此日志文件。
std::ofstream logFile("logfile.txt");
logFile << "set method called";