Git Product home page Git Product logo

stone's Introduction

看到中文readme是一件非常亲切的事情!仔细看完此文档即可完成第一个用例:

1、整体指引:
  1)使用一键式脚本编译、链接并打包压缩,如果编译失败请自行解决编译问题;
  2)如果编译成功会在bin路径下生成可执行二进制文件"future_net";
  3)使用如下格式调用并调试程序"./future_net /xxx/topo.csv /xxx/demand.csv /xxx/result.csv",其中topo.csv和demand.csv是输入文件,result.csv是输出文件;
  4)调试成功后到竞赛官网提交SDK-gcc路径下的压缩包"future_net.tar.gz",稍后查询成绩。

2、目录结构:
SDK-gcc/
├── bin/                         可执行二进制文件路径,编译后动态创建
├── build/                       makefile路径
│     └── Makefile
├── future_net/                  代码路径
│     ├── lib/
│     │     ├── lib_io.h         lib中读写文件的头文件
│     │     ├── lib_record.h     lib中将输出结果记录到缓冲区的头文件
│     │     └── lib_time.h       lib中打印时间的头文件
│     ├── CMakeLists.txt         cmake
│     ├── future_net.cpp         main函数源文件
│     ├── route.cpp              你要写代码的源文件
│     └── route.h                你要写代码的头文件
├── lib/                         链接库路径
│     ├── 32/
│     │     └── lib_io.a         基于32位编译的链接库
│     └── 64/
│           └── lib_io.a         基于64位编译的链接库
├── batch32.sh                   基于32位系统使用的编译、链接、打包批处理脚本
├── batch64.sh                   基于64位系统使用的编译、链接、打包批处理脚本
└── readme.txt                   你正在看的文件 -_-" 这不用介绍了吧

3、shell脚本说明:
  根据你的系统选择32位脚本或者64位脚本。
  执行此脚本可以实现一键编译、链接、打包。如果编译和链接正确,会在bin/下生成future_net二进制文件,并按照大赛要求生成二进制文件与代码的压缩打包文件存处于SDK/下。
  注意:
    1)shell脚本会清空bin/下的所有文件和路径,以及build/下除了Makefile外的所有文件和路径。请不要在此保存你的任何文档;
    2)如果使用shell脚本一键功能,请不要修改任何路径名和文件名,并保持各路径和文件的位置关系不变。

4、手工操作说明:
  1)根据自己的系统选择32位或者64位的lib_io.a,将其复制到SDK/lib/下;
  2)进入build/下,执行make完成编译和链接。生成的二进制文件存放于bin/下;
  3)将生成的二进制文件和代码路径置于同一级路径下,打包压缩生成"future_net.tar.gz"。

5、SDK代码说明:
  我们已经提供了保姆式的服务,你只需要做:
  1)实现route.cpp文件中的route接口;
  2)依次调用record_result将路径结果写入缓冲区;
  3)如果计算结果为没有路径,则不需要调用record_result接口即可直接输出NA。
  SDK已经实现了读取文件、按要求格式写文件以及打印开始和结束时间的功能。
  注意:读取文件功能是指,将图的信息文件和路径信息文件按行读取到内存,其在内存中的存储格式仍是字符串格式。因为这些信息以什么格式存储涉及到算法设计,这样做是为了不禁锢你的思路。

注意:如果增加了源文件需要修改Makefile文件。可自行选择手工修改或者使用cmake修改,但最终要将修改好的Makefile文件放置于buile/路径下。





heihei

stone's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.