blob: 85eaa8c1f1164dd9b513a6da60bf3908b2ba1ef2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
Standalone Common Test Judge
Simple Common Test Judge
不管其實是哪一個,總之這個程式名稱就定作 sctjudge。
程式的目標:一個可以跨作業系統(但僅限 UNIX-like 系列)的程式設計題目評測程式,
不論是作為 script 內的工具程式,還是直接操作,都可以很容易的操作。
我希望有以下功能:
* Linux 下的程序監視器 (0.8)
* 判斷 PE 的能力
* 使用 pipe 取得輸出,而不依賴輸出檔
* 較易操作的使用者界面,例如 TUI 和 GUI
使用注意事項:因為受測程式在執行時,式無法開啟任何額外函式庫檔案的。因此編譯受
測程式時,請加上 -static 來編譯成可獨立執行的可執行檔,否則無法得到正確的結果!
(可能需要安裝額外的套件才能編譯成靜態的執行檔,例如說 glibc-static 這類的套件)
=============================================================================
程式(預計)命名規則:
* 檔名 Sct 開頭 -> 通用函式,沒有特定命名規則
* 檔名 Judge 開頭 -> 最重要的程式,與檢測相關,函式以 sctjudge_ 開頭
* 檔名 Proc 開頭 -> 與子程序相關,函式以 sctproc_ 開頭
* 含有 Main 的檔案或函式,表示該類型函式的進入點
* 目前計畫中的 UI 有 Cli、Tui、Gtk 三種,以後看能不能再加
程式(預計)架構:
Sct -> UI -> Judge -> Proc
函式呼叫順序:
main -> UI -> sctjudge_main -> sctproc_main
基本原則:
下層的函式不需要與不會知道上層的資料,上層的函式可以會需要下層的資料
|