gnucc
TypeScript icon, indicating that this package has built-in type declarations

1.1.5 • Public • Published

gnucc

Node.js library for GCC and G++ compilers

  • Simplified options and usage
  • Types and intellisense support
  • Supports compilation of C and C++ files through gcc and g++
  • Also can be easily used with emscripten.

Quick Start

This method passes files directly, it is recommended you pass options as shown below.

import { gnucc, gcc, gpp } from 'gnucc';
 
gnucc('file.cpp'); // compiles to executable
 
gnucc(input: string, output?: string, log?: boolean); // uses gcc or g++
gcc(input: string, ...); // uses gcc
gpp(input: string, ...); // uses g++

Advanced Usage

This example shows how to manually set some options.

import { gnucc, OPTIMISATION, WARN } from 'gnucc';
 
await gnucc({
  input: 'src/head.cpp',
  output: 'out/head',
  includes: [
    'src/headers'
  ],
  binaries: {
    "gcc": 'gcc',
    "g++": 'g++'
  },
  optimisation: OPTIMISATION.HIGH,
  warning: [WARN.ALL]
});

Automatic Project Compilation

By enabling project mode gnucc handles a lot of the heavy lifting for you.

  • Compiles to .o to reduce compile times in the future.
  • Keeps track of timestamps to only compile required files.
  • Ensures the correct compilers are used.
import { gnucc } from 'gnucc';
 
await gnucc({
  project: true,
  input: [
    'src/example.cc',
    'src/tester.cc'
  ],
  objOut: 'out/',
  output: 'out/projecttest',
  includes: [
    'src/headers'
  ]
});

Package Sidebar

Install

npm i gnucc

Weekly Downloads

9

Version

1.1.5

License

ISC

Unpacked Size

41.2 kB

Total Files

26

Last publish

Collaborators

  • insertish