eminmuhammadi / phpcompiler
Python、C++、Java、C11、C的基本PHP编译器
dev-master
2021-07-26 18:21 UTC
Requires
- php: >=7.3.1
This package is auto-updated.
Last update: 2024-09-27 01:18:48 UTC
README
Python、C++、Java、C11、C的基本PHP编译器
git clone https://github.com/eminmuhammadi/phpCompiler.git
入门指南
以下说明将帮助您将项目复制到本地机器上,以便进行开发和测试。有关如何在实时系统上部署项目的说明,请参阅部署部分。
先决条件
您需要安装哪些软件以及如何安装它们
apt-get install g++
apt-get install gcc
apt-get install clang
apt-get install javac
apt-get install python
安装
主源代码位于 src/phpCompiler.php。要在项目中使用此类,您需要设置
require_once 'vendor/autoload.php';
并使用 eminmuhammadi\phpCompiler() 创建新类
$COMPILER = new eminmuhammadi\phpCompiler();
测试
安装后,建议在 test/testAll.php 中运行测试服务
声明变量
$env = [ 'command' => 'g++ -std=c++11', 'executable' => 'a.out', 'runFile' => './a.out' , //out 'time' => '1', //seconds 'code' => $_POST['code'] , 'input' => $_POST['input'], 'fnCode' => 'main.cpp', 'fnInput' => 'input.txt', 'fnError' => 'error.txt' ];
time 对循环执行进行操作
设置执行时间(注意)
$COMPILER->setTimeOut($time);
此规则使PHP文件对循环进行操作。
运行并创建JSON服务
收集编译过程中的所有数据。
$RESULT = $COMPILER->Run( $env['command'], $env['time'], $env['executable'], $env['runFile'], $env['code'], $env['input'], $env['fnCode'], $env['fnInput'], $env['fnError'] );
到此为止,我们需要创建一个json类型的应用程序服务。
header('Content-Type: application/json'); $data = [ 'code' => $env['code'] , 'time_limit' => $time, 'input' => $env['input'], 'result' => $RESULT ]; echo json_encode($data,JSON_PRETTY_PRINT);
JSON显示如下
{
"code": " #include <iostream>\r\n #include <string>\r\n using namespace std;\r\n\r\n int main()\r\n {\r\n\r\n cout <<\"Hello World\"<<endl;\r\n return 0;\r\n }\r\n ",
"time_limit": 1000,
"input": "",
"result": {
"output": "Hello World\n",
"time": "0.01",
"error": "",
"verdict": "AC"
}
}
结果
作者
- Emin Muhammadi - 初始工作 - eminmuhammadi
有关参与此项目的贡献者列表,请参阅。
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息
