On this page:
6.1 External Processes
exn: fail: process
6.2 GCC

6 Evaluation

This library provides utilities for building and runnign C programs with a system-installed C compiler. Currently the only supported compiler is GCC.

 (require (planet dherman/c:2:1/eval))

6.1 External Processes

(struct (exn:fail:process exn:fail) (out error-out))
  out : input-port?
  error-out : input-port?

Raised when a system error occurs in executing an external process.

6.2 GCC

(current-gcc)  (or/c path? #f)
(current-gcc gcc)  void?
  gcc : (or/c path? #f)

The path to the GCC executable. By default, this is initialized to:

  (or (find-executable-path "gcc")
      (find-executable-path "gcc.exe"))

(gcc print-source)  
input-port? input-port?
  print-source : (-> any)

Runs a C program with GCC, using the value of current-gcc to find the GCC executable. The program source is obtained by invoking print-source, which is run in a continuation barrier to prevent re-entrant evaluation. The external program is built to a temporary file which is automatically deleted after the program terminates.

The external program is run in a separate thread, so this procedure returns before the program necessarily terminates. The procedure produces two values, input ports for reading from the external program’s stdout and stderr ports.