【问题标题】:calling C functions in javascript在javascript中调用C函数
【发布时间】:2014-08-13 15:15:53
【问题描述】:

我正在使用 javascript 来运行服务器。 我想在服务器端调用 c 函数。我该如何调用它? 我用谷歌搜索,大部分时间都有关于如何使用 AJAX 和 .net 调用该函数的信息。 c 函数已经构建并保存在 PC 上的某个位置。 我想从服务器端的 javascript 调用这个 C 函数

谁有这方面的信息?非常感谢。 问候 维什

【问题讨论】:

  • 是的,您只能在客户端机器上运行 javascript。因此,您必须对服务器进行 AJAX 调用。服务器上的一些东西需要处理这个调用,然后它可以做你需要的......尝试一些东西,然后回来向我们展示你的代码,并解决一个更具体的问题。理解“调用 C 函数”的含义也非常有用
  • 你在使用 Node.js 吗?如果不看看一些服务器端js调用外部东西的例子。
  • 非常感谢您的回复。实际上,我正在使用 BeagleBone Black,它通过链接 github.com/simonmonk/prog_bbb.git 中给出的代码运行 Web 服务器。在 Prog BBB 文件夹中,有 2 个文件 09_01_led_control.js 和 09_01_led_control.html 。当我们连接beaglebone black并运行这些代码时,打开链接192.168.7.2:8085,我们可以看到一个简单的GUI(开/关按钮)。现在我希望服务器代码(09_01_led_control.js)调用一个C函数在 BeagleBone black 上。 //对不起cmets。 stackoverflow 的新手!谢谢

标签: javascript c client-server client-side server-side


【解决方案1】:

您可以使用节点 child_process 模块生成一个子进程。

var spawn = require('child_process').spawn;

var ls = spawn("ls", ["-l", "-a"], {stdio: "inherit"});

ls.on("exit", function(status) {
    console.log("Done");
});

见: http://nodejs.org/api/child_process.html

【讨论】:

  • 感谢 SIMpleJ。我会查一下。但是服务器怎么知道c函数保存的位置呢?我们需要调用 main.obj 文件。对?实际上我已经写了一个简单的 main.c 文件。将它构建到 main.o 我想调用这个 main.o 文件。再次感谢。
  • 这是一个很好的链接,我正在努力理解:benfarrell.com/2013/01/03/…
  • 您可以将您的 c 程序编译成可执行文件,然后使用 spawn 运行它。这不会直接调用该函数;它只是运行包含该函数的程序。根据您的链接,您似乎在尝试做一些更深入的事情,而不仅仅是产生一个进程。
  • 感谢 SimpleJ。我刚刚在谷歌搜索时得到了那个链接。行。我会尽力理解你的答案。 1疑问:javascript如何知道目标文件的位置?谢谢。
  • Javascript 不知道目标文件的位置。您可以将main.cmain.o 文件编译成main.exe,然后运行spawn("path/to/main", ["arg1", "arg2", "etc"]) 以从节点运行可执行文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 2018-01-11
  • 2017-03-20
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多