Language

Run C programs online, compiled on demand

A C script is an ordinary program with int main. Waiso compiles it with gcc 14 right before the run, caches the binary and runs it in an isolated sandbox — by hand, on a schedule or over HTTP.

Inputs declared in comments

Declare inputs with // @param name type = default lines and read them with waiso_arg_str, waiso_arg_int, waiso_arg_double or waiso_arg_bool from waiso.h. Hand back JSON with waiso_set_result.

Learn more →
average.c
// @param a float = 7.5
// @param b float = 9
#include <stdio.h>
#include "waiso.h"

int main(int argc, char *argv[]) {
    double a = waiso_arg_double("a", 7.5);
    double b = waiso_arg_double("b", 9);
    double avg = (a + b) / 2;
    printf("average %.2f\n", avg);
    char json[64];
    snprintf(json, sizeof json, "{\"average\":%.2f}", avg);
    waiso_set_result(json);
    return 0;
}

No packages, by design

C installs nothing: a script is linked with the C library, the math library and the Waiso SDK only. Shared code lives in another C script of the project, imported as a header.

Learn more →

Schedule it or put it behind an API

Publish the program and it runs on a schedule, answers an HTTP endpoint, or serves as a step in a flow. stdout and stderr are the logs; a non-zero exit code fails the run.

Learn more →

Questions

Which compiler is used?

gcc 14, always the latest the worker carries. C scripts do not record a version.

Can I use libcurl or OpenSSL?

No. Those headers are not available to scripts, and the sandbox has no network for an HTTP client to reach.

Do I free the strings from waiso_arg_str?

No. They belong to the SDK and live for the whole run — never call free on them.

Related

Get started today

Ready to ship some scripts?

Create an account in seconds — no installers, nothing to set up.
Start building, testing and running your scripts right away.

  • Free to start
  • Self-host or cloud
  • Production ready