簡體   English   中英

在 php 中使用 shell_exec 調用 gcc

[英]Calling gcc with shell_exec in php

<?php
$output=shell_exec('gcc prog.c');
echo "$output";
?>

我正在嘗試使用 php 執行 ac 程序並使用 shell_exec 調用 gcc 來執行該程序,但它沒有給出任何輸出但沒有顯示錯誤。 可以請人糾正錯誤提前謝謝。

gcc 用於編譯 c 文件。 它不會“運行” .c 文件。 從命令行嘗試一下。 運行 gcc prog.c 后,您會注意到您有一個名為“a.out”的文件。 a.out 是成功編譯 prog.c 后創建的可執行文件

調用gcc將啟動prog.c文件的編譯。 它沒有執行它。

如果你需要在運行時編譯你的prog.c文件,我會寫一個快速的 shell 腳本,看起來有點像這樣:

#!/bin/bash

rm prog_compiled_from_php               # Remove previously compiled program
GCC=`which gcc`                         # Find the path to gcc and store it in the "GCC" variable
$GCC prog.c -o prog_compiled_from_php   # Compile prog.c into the binary called prog_compiled_from_php
./prog_compiled_from_php                # Execute the compiled program

將此文件另存為prog_compile

確保你使這個腳本可執行,用這個: chmod a+x prog_compile

在 PHP 中,調用$output = shell_exec('prog_compile');

我不是 bash 腳本專家,請隨時糾正我的語法:)

您可以使用&&執行許多 cmd 命令。 要編譯 C 文件並執行和回顯輸出,您可以使用以下代碼行:

$output = shell_exec('cd /path/to/c_file && gcc prog.c && a');
echo '&output';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM