1.OJHUSTOJ
2.HUSTOJ出现RuntimeError,源码正确姿势。
3.我们在国产龙芯电脑上移植了hustoj
4.ubuntu下安装mysql5.5.47并装hustoj
OJHUSTOJ
HUSTOJ是修改华中科技大学设立的在线评测平台,其中最为人称道的源码是其Virtual Judge功能。这个功能深受众多竞赛团队的修改青睐,被广泛用于训练和提升技术水平。源码在Virtual Judge上,修改U盘系统源码参赛者可以接入并模拟参与来自不同在线评测系统(如UVA)的源码比赛,以此来丰富训练内容和提升实战经验。修改 一个推荐的源码策略是,利用Virtual Judge的修改功能,定期或定期地挂接其他知名OJ的源码比赛题目,如UVA的修改a卡源码输出题目,这样可以让你的源码队伍在模拟的竞赛环境中磨练解题技巧,熟悉竞赛规则,修改提高应对各种问题的源码能力。这样的训练方式有助于提升团队的整体实力,为实际比赛做好充分准备。扩展资料
OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性。著名的OJ有RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库等。陈儒 源码剖析国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。HUSTOJ出现RuntimeError,正确姿势。
在遇到HUSTOJ的RuntimeError时,特别是在位Linux环境中安装Java或类似情况下,可能会遇到系统调用不允许的报错,如"Runtime Error: [ERROR] A Not allowed system call: runid: CALLID:"。解决此类问题的关键在于管理员级别的操作。
首先,需要查看对应系统的judge_client源代码。在core/judge_client目录下,javascript抢红包源码查找okcall.h(如果是位系统则找okcall.h)。在这个文件中,找到一个以J(代表Java)开始的数组,如`int LANG_JV[] = { 0, ..., 0}`。将报错信息中的CALLID(例如)插入到数组的首尾两个0之间,变成`int LANG_JV[] = { 0, , ..., 0}`。
然后,重新编译并覆盖judge_client到`/usr/bin/judge_client`,通过在core目录下执行`sudo bash make.sh`。如果仍有新的错误,继续此过程,盒子dts源码输出直到错误消失。
若嫌逐个查找麻烦,可以尝试使用debug模式和采样模式运行,如`sudo judge_client 0 /home/judge debug J`,这将输出一个包含LANG_JV数组的值。将这些值整合到okcalls.h或okcalls.h中即可。
务必使用openjdk-7-jdk作为Java编译器,通过`sudo apt-get install openjdk-7-jdk`安装。Pascal编译器则使用`sudo apt-get install fp-compiler`。注意,HUSTOJ只支持`.in`和`.out`文件,不支持`.ans`文件。
以上步骤提供了修复RuntimeError的解决方案,如果想了解背后的原理,请查阅相关文档。
我们在国产龙芯电脑上移植了hustoj
在国产龙芯电脑上移植hustoj的历程充满了挑战与创新。事情源于一次实习任务,目标是将hustoj移植到基于龙芯计算机的mips指令集上。由于mips与x指令集在寄存器结构上存在根本差异,原有的judge_client源码无法直接编译。首先,我们在docker环境内的qemu-system-mips进行了初步测试。
为了克服编译问题,我们在master分支整合了位、位、arm和mips源码,并通过宏做简单的编译预处理。然而,为确保移植的准确性与可靠性,我们决定采用更为直接的方法,通过购买龙芯2f一体机-灵珑9s2a进行实际测试。在此过程中,@蓬岸 Dr.Quest 为我们提供了 debian 官方的存档源,使得后续的操作更加顺畅。
安装软件包、调试过程中发现实机与qemu在系统调用方面存在差异,经过调整okcalls_mips.h后,最终通过f,找到相关的密码信息。
2. 使用命令行编辑器打开文件:sudo gedit /etc/mysql/debian.cnf。 3. 修改密码后,根据具体教程调整(参考:相关链接)。 4. 通过命令行修改密码:mysql -udebian-sys-maint -pdebian-sys-maint,其中`debian-sys-maint`是配置文件中`user=`后的内容,根据实际情况输入,然后输入新密码。 5. 进入MySQL控制台,修改root用户密码,确保安全性。 关于安装好MySQL后的登录错误,可通过以下步骤解决: 1. 使用命令修改密码:`mysqladmin -u用户名 -p旧密码 password 新密码`,确保新密码前有一个空格。 2. 测试登录:`mysql -h主机地址 -u用户名 -p用户密码`。 为了更全面地掌握MySQL的基本操作,以下是常见命令列表: ### MySQL服务操作 1. 启动服务:`net start mysql` 2. 停止服务:`net stop mysql` 3. 登录:`mysql -h主机地址 -u用户名 -p用户密码` 4. 退出:`quit` 5. 修改密码:`mysqladmin -u用户名 -p旧密码 password 新密码` ### 数据库操作 1. 列出数据库:`show databases` 2. 使用数据库:`use 数据库名称` 3. 创建数据库:`create database 数据库名称` 4. 删除数据库:`drop database 数据库名称` ### 表操作 1. 列出表:`show tables` 2. 创建表:`create table 表名称 (字段定义)` 3. 删除表:`drop table 表名称` 4. 显示表结构:`describe 表名称` 5. 清空表:`delete from 表名称` 6. 查询表内容:`select * from 表名称` ### 数据备份与恢复 备份:`mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql` 恢复:`mysql -u [user] -p [password] databasename < filename` ### 其他功能 修改表结构、数据迁移、创建新表等。 完成MySQL安装后,还需进行Hustoj的部署,具体步骤包括: 1. 更新系统:`sudo apt-get update` 2. 安装SVN:`sudo apt-get install subversion` 或 1. 更新系统:`sudo yum update` 2. 安装SVN:`sudo yum install subversion` 3. 从SVN仓库获取Hustoj源代码:`svn checkout /svn/trunk/install` 4. 进入Hustoj目录:`cd hustoj` 5. 编辑相关配置文件:`install.sh`和`web/include/db_info.inc.php` 6. 配置数据库用户名和密码 7. 执行安装脚本:`sudo ./install.sh`