{"id":21196140,"url":"https://github.com/noclin/localjudge","last_synced_at":"2025-07-10T05:30:27.076Z","repository":{"id":62576562,"uuid":"194533594","full_name":"NoCLin/LocalJudge","owner":"NoCLin","description":"Life is short, judge locally. 适用于OJ练习的本地评测工具。开发版本：https://github.com/NoCLin/LocalJudge/tree/dev","archived":false,"fork":false,"pushed_at":"2020-01-23T14:12:18.000Z","size":102,"stargazers_count":15,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-08T01:36:06.321Z","etag":null,"topics":["acm-icpc","algorithm-competitions","algorithms-practice","cli-app","csp","noi","noip","online-judge","pat"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NoCLin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-30T15:46:38.000Z","updated_at":"2024-07-07T02:52:32.000Z","dependencies_parsed_at":"2022-11-03T19:04:50.523Z","dependency_job_id":null,"html_url":"https://github.com/NoCLin/LocalJudge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoCLin%2FLocalJudge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoCLin%2FLocalJudge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoCLin%2FLocalJudge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoCLin%2FLocalJudge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoCLin","download_url":"https://codeload.github.com/NoCLin/LocalJudge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225619224,"owners_count":17497651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acm-icpc","algorithm-competitions","algorithms-practice","cli-app","csp","noi","noip","online-judge","pat"],"created_at":"2024-11-20T19:34:03.305Z","updated_at":"2024-11-20T19:34:04.279Z","avatar_url":"https://github.com/NoCLin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Local Judge\n\n\n## What's this?\n\nLocal Judge 类似于 Online Judge，但因其运行在本地，故命名为 **Local** Judge。\n\n如果你曾想过提高刷题效率，那么你可能用过 `freopen` 或者 `#ifndef ONLINE_JUDGE`，\n那么不妨试试 LocalJudge。\n\nFeatures：\n\n- 评测无需排队\n- 管理多组测试用例\n- 自动输入多组数据\n- 自动对比输出结果\n- 保留评测日志[未完成]\n\n\u003e 刷题时，由于每个项目只能指定一个入口，每道题目都需要新建一个项目很繁琐，\n\u003e LocalJudge提供`lj run hello.c` 或 `ljr hello.c`直接编译运行，\n\u003e即可在IDE的一个项目里存放多个带有main函数的源文件了。\n\n它的劣势之一是OJ实战不能使用=_=。\n\n## 安装\n\n```bash\npip install --upgrade LocalJudge\n```\n\n## 使用截图\n\n\u003cimg src=\"./screenshots/1.svg\"\u003e\n\n\n## 使用方法\n\n将 `gcc`、`java` 等编译器所在的目录加入`PATH`，关于自定义编译器参数与自定义语言，请参考下节。\n\n\u003e Windows上使用`Code::Blocks`与`DevC++`的用户，您可以找到安装目录下的mingw等编译器，将`gcc`所在的文件夹加入`PATH`。\n\n\u003e 请善用`lj run`命令独立运行源文件，这样可以在一个IDE的项目中存放多个带有main函数的源文件而不冲突。\n\n1. 创建项目\n\n`lj create poj-1000.c`\n\n项目目录结构如下：\n\n```\n.\n├── poj-1000 题目文件夹，需要和源码文件名前缀相同\n│   ├── 1.in 输入，必须为*.in\n│   ├── 1.out 预期输出，必须为*.out\n│   ├── 2.in 同上\n│   ├── 2.out\n│   ├── 3.in\n│   ├── 3.out\n│   ├── README.md 问题描述文件\n└── poj-1000.c 代码文件\n```\n\n2. 编写您的代码与测试用例\n\n3. 使用`lj poj-1000.c` 或 `lj poj-1000`(自动搜索后缀) 开始评测。\n\n当然，也可以使用 `lj run poj-1000.c` 或 `ljr poj-1000.c` 手动运行。\n\n\n\u003e 请注意：由与OJ限制，java源文件名必须为Main.java，因此请将每个项目放在独立的文件夹里。\n\n\u003e 由于IDE会报错，Java源文件无法和其他语言保持一样的文件结构(如文件夹下同时存在poj-1000.java、poj-1001.java)。\n\n## 编译器配置\n\n程序首次运行，会自动新建 `~/.localjudge.json`，请参考配置文件内容，并根据实际情况修改编译参数。\n\n${src} 将会被预定义变量**src**替换，同理，可使用的预定义变量如下：\n\n```\nsrc : 源文件路径\ndest: 可执行文件路径\nstem: 源文件名前缀\nexe_if_win: 如果为Windows系统，值为\".exe\"，否则为\"\"\n......\n```\n\n## 其他命令\n\n```\n# 开启DEBUG模式\nlj -d poj-1000.c\n\n# 以JSON格式输出\nlj --json poj-1000.c\n\n# 指定只使用某个测试用例\nlj poj-1000.c -c 1\n\n# 创建新项目\nlj create poj-1001.c\nls poj-1001*\npoj-1001.c\n\npoj-1001:\n1.in      1.out     2.in      2.out     README.md\n\n# 直接从源码编译运行\nlj run poj-1000.c\nljr poj-1000.c\n\n\n# 清空某项目临时文件夹\nlj clean poj-1000.c\n\n# 显示某项目的内容\nlj show \n\n```\n\n## TODO\n\n[To Do List](https://github.com/NoCLin/LocalJudge/projects/1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoclin%2Flocaljudge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoclin%2Flocaljudge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoclin%2Flocaljudge/lists"}