aboutsummaryrefslogtreecommitdiffstats
path: root/README
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

基本原則:
 下層的函式不需要與不會知道上層的資料,上層的函式可以會需要下層的資料