Closed alvisisme closed 5 years ago
Mac也是这样,LZ77出问题
我后来看了官方的源码,好像也是有问题的,暂时还没时间去深究。
https://resources.oreilly.com/examples/9781565924536/blob/master/examples_unix/source/lz77.c
@alvisisme @voyagingmk 感谢 @angeltears 对问题作出修复 https://github.com/yourtion/LearningMasteringAlgorithms-C/pull/7
但是我在 Mac 下运行还是报错的
Compressing with LZ77
Compressing...Done
Uncompressing...Done
-> osize=5983, csize=1584, rsize=5983
Data was not properly restored
-> original[0]="/"
-> restored[0]=0x00
用travis ci 做个自动化构建和测试吧
写了个简单的travis ci脚本测试lz77压缩,linux下问题并没有修复。
travis ci 脚本
language: c
compiler: gcc
before_install:
- mkdir -p build
script:
- cc source/*.c Example/compress/main.c -lm -I ./include -o build/compress
- cp Example/compress/sample.txt build/sample.txt
- cd build && ./compress
branches:
only:
- master
构建日志
https://travis-ci.org/alvisisme/LearningMasteringAlgorithms-C/builds/464742163
原始的编译脚本中构建命令默认没有链接 -lm 参数,至少compress是没法编译成功的。
@alvisisme 已经修复构建脚本问题同时添加了自动化测试:https://travis-ci.org/yourtion/LearningMasteringAlgorithms-C
失败:https://travis-ci.org/yourtion/LearningMasteringAlgorithms-C/jobs/464756848
@angeltears @alvisisme 我试了在32位下编译运行,是可以的
// sudo apt-get install gcc-multilib
$ cc source/*.c Example/compress/main.c -I ./include -lm -m32 -o build/compress
Compressing with Huffman coding
Compressing...Done
Uncompressing...Done
-> osize=5983, csize=3272, rsize=5983
Data was restored OK
Compressing with LZ77
Compressing...Done
Uncompressing...Done
-> osize=5983, csize=1527, rsize=5983
Data was restored OK
感谢 @angeltears 提供的思路,确实是long
的问题,已经Fix: https://github.com/yourtion/LearningMasteringAlgorithms-C/commit/c9ece6353a95899239949c6a2512dc45c20df230
@alvisisme @voyagingmk
终于pass了
编译lz77样例运行的时候出现错误.
编译环境: