使用NodeJS中的变量启动C程序

时间:2017-02-02 13:26:33

标签: javascript c node.js

将nodeJS中的变量发送到C程序(NOT C ++)的最简单方法是什么?并在收到变量后运行此C程序?

app.js:

 var test = 1;

test.c:

#include <stdio.h>     
int main()
{
  int node_variable;
  printf("Value from nodeJS is %d", node_variable);

  return 0;
}

1 个答案:

答案 0 :(得分:1)

您可以使用nodejs child_process模块将参数传递给C程序(例如,请参阅here)。

app.js:

var test = 1;
var exec = require('child_process').exec;
exec('./test.bin '+test, function callback(error, stdout, stderr){console.log(stdout);});

test.c的:

#include <stdio.h>

int main(int argc, char **argv) {

  printf("value of test: %s\n", argv[1]);
  return 0;
}

假设test.bin是从test.c构建的程序,执行javascript文件会使编译的程序显示test的值(此处为“1”)。请注意,变量test的值被视为单个(非空)参数。