Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
hello.c File Reference
#include "duktape.h"

Go to the source code of this file.

Functions

int adder (duk_context *ctx)
 
int main (int argc, char *argv[])
 

Function Documentation

◆ adder()

int adder ( duk_context * ctx)

Definition at line 7 of file duktape-1.8.0/examples/hello/hello.c.

7 {
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}
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_push_number(duk_context *ctx, duk_double_t val)

References duk_get_top(), duk_push_number(), and duk_to_number().

Referenced by main().

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 20 of file duktape-1.8.0/examples/hello/hello.c.

20 {
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}
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 void duk_destroy_heap(duk_context *ctx)
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 adder(duk_context *ctx)

References adder(), duk_create_heap_default, duk_destroy_heap(), duk_eval_string, duk_pop(), duk_push_c_function(), duk_push_global_object(), duk_put_prop_string(), and DUK_VARARGS.