该文档是2019华为软件精英挑战赛的工程编译指导书,专注于Java部分。以下是关键知识点:
1. **比赛环境**:
- 比赛基于Linux操作系统,这意味着选手的代码需要兼容并能在Linux平台上运行。
- 指定的运行脚本有三个:`build.sh`用于编译源码,`startup.sh`用于执行程序,以及`CodeCraft_tar.sh`用于打包提交。
2. **SDK**:
- 提供的软件开发工具包(SDK)包含Java、C++和Python三种语言的库和框架。
- SDK的目录结构清晰,如Figure1所示,便于选手理解和使用。
- SDK Java部分的编译命令是`SDK/SDK_java/build.sh`,这将生成`CodeCraft-2019-1.0.jar` jar文件和`CodeCraft-2019-1.0.tar.gz` 压缩包。
3. **程序编译与执行流程**:
- 选手需先通过编译脚本将源代码转换为可执行文件,编译后会看到新增的目录和文件,如Figure3所示。
- 运行程序时,需要将输入文本分别放置在`config/car.txt`, `config/road.txt`, 和 `config/cross.txt` 文件中,并通过`startup.sh`脚本执行,同时指定`config/answer.txt`作为输出文件。
4. **代码管理**:
- 如果源码中新增了文件,选手需要在`makelist.txt`中手动更新,确保系统能够识别新添加的源文件。
- 指定使用Java Development Kit (JDK) 1.8版本进行开发,确保代码兼容性。
5. **提交要求**:
- 选手需使用`SDK/SDK_java/CodeCraft_tar.sh`脚本来打包源码,生成的压缩包文件名为`CodeCraft_code.tar.gz`,然后将此文件上传到2019华为软件精英挑战赛的官方网站进行代码提交。
6. **额外注意事项**:
- 选手需要确保他们的代码在指定的环境中编译和运行,遵循提供的SDK结构,以及使用正确的Java版本。
这份指南为参赛选手提供了关于如何在Linux环境下使用提供的SDK进行Java编程,编译,运行,以及提交代码的详细步骤,确保了比赛的公平性和一致性。