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 →// @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.