燕山大学Linux的OJ系统设计样例

本文详细介绍了燕山大学Linux OJ系统的设计样例,重点解析了代码编译、结果对比的关键步骤。强调在C语言输出时必须使用` `以避免因TXT文件二进制头导致的错误。同时,文章提供了文件组织结构和比较工具的使用说明。
摘要由CSDN通过智能技术生成

 

燕山大学Linux的OJ系统设计样例


这个脚本中,最关键的就是编译比较代码,这就是OJ系统的核心,具体代码在链接里面,希望大家好好研究,有不足的地方尽管指出!

通过gcc  编译目录下的.c 文件,将编译的结果写入a.txt 

gcc /home/liuzejiang/myfile/cs/temp.c >>a.txt 2>&1

2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了a.txt。那么标准错误也会输出到a.txt

 cat /dev/null >/home/liuzejiang/myfile/cs/b.txt

可以/dev/null等价于一个只写文件. 写入它的内容都会永远丢失. 从它那读取内容什么也读不到 

 while read line 
   do
      echo $line | /home/liuzejiang/myfile/cs/a.out >>/home/liuzejiang/myfile/cs/b.txt
      echo "写入结果"
   done </home/liuzejiang/myfile/T1234/cin.txt

逐行done从cin.txt里面读取内容。参数line,当接收到参数的时候通过管道线传给a.out文件运行 ,将运行结果输出的b.txt

 cmp -s  /home/liuzejiang/myfile/cs
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值