前言
由於冬眠營可能要強行使用NOI Linux,一臉蒙蔽。所以來學習一發。
鳴謝Wildrage對我的啟蒙指導
鳴謝Cooook對我的悉心傳授
由於筆者對於Windows系統較為熟悉,所以可能會類比Windows,如有錯誤,感性理解即可
編譯調試程序
我們的操作主要是依賴NOI下的終端,由Ctrl+Alt+T調出,作用類似與Windows下的cmd
然后需要指定一個目錄,以后需要在此進行一系列操作(這里以桌面為例)
輸入:cd Desktop
然后我們對於一個程序,先編譯運行,命名生成的擴展程序文件(以后都是調用此文件)
編譯運行成功時:
指定目錄(桌面)下:
上面的是代碼,下面的是可執行程序(或許可以這么叫?)
編譯錯誤時:
啊哈!發現221行dfs2前面少了一個“;”,抓緊改之!
好啦我們繼續往下搞:
編譯成功后我們就可以調用這個程序了
調用時格式為:"./name"
“name”為上面生成的擴展程序文件名,“ ./ ”相當於去調用運行它(或許和.exe類似?)
當程序寫freopen的時候,窗口會輸出運行結果,沒寫freopen的話可以從窗口手動輸入,然后返回運行結果。
寫freopen時:
不寫時:
這就是我們寫程序時進行編譯運行的操作啦
對拍
對拍也是基於上述操作
在Windows下,我們是這么寫對拍的:
#include
int main(){
while(true){
system("make.exe > make.txt");
system("force.exe force.txt");
system("need.exe need.txt");
if(system("FC need.txt force.txt"))break;
}while(true);
}
在Linux下原理也是一樣的。
對拍程序是這么寫的:
# include
int main() {
while (1) {
system("./make > make.txt");
system("./force < make.txt > force.txt");
system("./need < make.txt > need.txt");
if (system("diff force.txt need.txt")) {
puts("Wrong Answer");
break;
}
else printf("OK!");
}while(1);
return 0;
}
然后把我們要用到的程序依次編譯運行一遍:
注意和Windows下一樣,我們生成的可執行程序的名稱要和對拍代碼內要調用的名稱一致
因為我們要調用的是它而不是代碼OvO
然后我們調用對拍程序,就開始拍上啦!
當然如果有錯的話對拍會停止的
大功告成啦(撒花)!
只是最初的理解使用。僅供參考。