Difference between revisions of "C.php"

From Organic Design wiki
m (testing stream redirection)
m (un-hardwire src)
Line 7: Line 7:
  
 
$src = $htdocs.'wiki/source.c';
 
$src = $htdocs.'wiki/source.c';
$gcc = $htdocs.'wiki/gcc -v';
+
$gcc = $htdocs.'wiki/gcc -v'; // diagnostics please
 
$out = $htdocs.'wiki/a.out';
 
$out = $htdocs.'wiki/a.out';
  
Line 18: Line 18:
 
// Compile & excecute
 
// Compile & excecute
 
$article = "Compiling using $gcc:\n";
 
$article = "Compiling using $gcc:\n";
if ($errors = shell_exec("$gcc source.c")) $article .= $errors;
+
if ($errors = shell_exec("$gcc $src")) $article .= $errors;
 
else {
 
else {
 
     $article .= "Compiled successfully!\n\n";
 
     $article .= "Compiled successfully!\n\n";

Revision as of 04:19, 24 June 2006

<?

  1. C compiler for XmlWiki Environment

xwSetProperty($properties,'language','TEXT'); $server = $_SERVER['HTTP_HOST']; $htdocs = $_SERVER['DOCUMENT_ROOT']; if ( !ereg( "\\/$", $htdocs ) ) $htdocs .= '/';

$src = $htdocs.'wiki/source.c'; $gcc = $htdocs.'wiki/gcc -v'; // diagnostics please $out = $htdocs.'wiki/a.out';

// Write the source to tmp file source.c if ($handle = fopen($src, 'w+')) {

   fwrite($handle, "$article\n");
   fclose($handle);
   }

// Compile & excecute $article = "Compiling using $gcc:\n"; if ($errors = shell_exec("$gcc $src")) $article .= $errors; else {

   $article .= "Compiled successfully!\n\n";
   $article .= "Executing compiled result:\n";
   $article .= shell_exec("$out 2>&1");
   }

?>