Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
duktape-1.5.2/examples/hello/hello.c
Go to the documentation of this file.
1/*
2 * Very simple example program
3 */
4
5#include "duktape.h"
6
7int adder(duk_context *ctx) {
8 int i;
9 int n = duk_get_top(ctx); /* #args */
10 double res = 0.0;
11
12 for (i = 0; i < n; i++) {
13 res += duk_to_number(ctx, i);
14 }
15
16 duk_push_number(ctx, res);
17 return 1; /* one return value */
18}
19
20int main(int argc, char *argv[]) {
22
23 (void) argc; (void) argv; /* suppress warning */
24
25 duk_eval_string(ctx, "print('Hello world!');");
26
29 duk_put_prop_string(ctx, -2, "adder");
30 duk_pop(ctx); /* pop global */
31
32 duk_eval_string(ctx, "print('2+3=' + adder(2, 3));");
33 duk_pop(ctx); /* pop eval result */
34
36
37 return 0;
38}
int adder(duk_context *ctx)
DUK_EXTERNAL duk_idx_t duk_push_c_function(duk_context *ctx, duk_c_function func, duk_int_t nargs)
DUK_EXTERNAL duk_bool_t duk_put_prop_string(duk_context *ctx, duk_idx_t obj_idx, const char *key)
DUK_EXTERNAL duk_double_t duk_to_number(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL duk_idx_t duk_get_top(duk_context *ctx)
DUK_EXTERNAL void duk_destroy_heap(duk_context *ctx)
DUK_EXTERNAL void duk_push_number(duk_context *ctx, duk_double_t val)
DUK_EXTERNAL void duk_push_global_object(duk_context *ctx)
DUK_EXTERNAL void duk_pop(duk_context *ctx)
#define duk_eval_string(ctx, src)
#define duk_create_heap_default()
int main(void)
Definition sanitycheckc.c:1