D 2014-11-30T19:32:57.582 L Examples N text/x-markdown P 45a72001ee84489fec4dd3197d401cca47991954 U rkeene W 1499 tcc4tcl Examples ================ Simple Example -------------- #! /usr/bin/env tclsh package require tcc4tcl set handle [tcc4tcl::new] $handle cproc add {int a int b} long { return(a+b); } $handle go puts [add 1 2] Example 1: mkdir ---------------- #! /usr/bin/env tclsh package require tcc4tcl tcc4tcl::cproc mkdir {Tcl_Interp* interp char* dir} ok { int mkdir_ret; mkdir_ret = mkdir(dir); if (mkdir_ret != 0) { Tcl_SetObjResult(interp, Tcl_NewStringObj("failed", -1)); return(TCL_ERROR); }; return(TCL_OK); } Example 2: curl --------------- #! /usr/bin/env tclsh package require tcc4tcl set handle [tcc4tcl::new] $handle ccode { #include #include } $handle cwrap curl_version {} vstring $handle cproc curl_fetch {char* url} ok { void *handle; handle = curl_easy_init(); if (!handle) { return(TCL_ERROR); } curl_easy_setopt(handle, CURLOPT_URL, url); curl_easy_perform(handle); return(TCL_OK); } $handle add_library_path /usr/lib64 $handle add_include_path /usr/include $handle add_library curl $handle go curl_fetch http://rkeene.org/ Z 6dc0e8e60e3592b702760635874ef201