By executing shell commands

Another approach is to execute C code as if it were a shell command. This method utilizes Node.js’s `child_process` module to run the C compiler (`gcc`) and execute the compiled binary.

Syntax:

const { exec } = require('child_process');
exec('gcc -o my_c_program my_c_program.c && ./my_c_program', (err, stdout, stderr) => {
if (err) {
console.error(err);
return;
}
console.log(stdout);
});

Example: This example shows the execution of C file using nodejs.

C
#include <stdio.h>

int main() {
    printf("Hello from C\n");
    return 0;
}
JavaScript
const { exec } = require('child_process');
exec('gcc -o my_c_program my_c_program.c &&
    ./my_c_program', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
});

Steps to run:

Step 1: Create a file called my_c_program.c and copy the C code into it.

Step 2: Create a file called app.js and copy the JavaScript code into it.

Step 3: Run the Node.js application with the following command:

node app.js

Output:

Output



How to Run C Code in NodeJS?

Developers can take advantage of Node.js‘s robust ecosystem and performance by running C code within the framework. Child processes, Node.js extensions, and the Foreign Function Interface (FFI) can all assist in this. There is flexibility to integrate C code based on particular requirements, as each solution has its own advantages, disadvantages, and use cases.

These are the following approaches to run C code in nodeJs:

Table of Content

  • By using Native Addons
  • By using Child Processes
  • By executing shell commands

Similar Reads

By using Native Addons

To connect JavaScript and C/C++ code, Node.js offers a feature called “Native Addons.”. This approach involves writing C/C++ code and compiling it into a shared library, which is then loaded into Node.js using require()....

By using Child Processes

Node.js offers the child_process module, allowing execution of external processes. This approach involves spawning a child process to run a compiled C program and communicating with it via standard streams...

By executing shell commands

Another approach is to execute C code as if it were a shell command. This method utilizes Node.js’s `child_process` module to run the C compiler (`gcc`) and execute the compiled binary....

Contact Us