помогите откомпилировать либо найти рабочий код! (алгоритм LZW)
Доброго времени суток!
нужен код для кодирования и декодирования алгоритмом LZW именно на языке Си. нашел страничку на которой все описано и есть реализация на Си, но я не могу этот код откомпилировать. компилирую на Ubuntu 9. http://algolist.manual.ru/compress/standard/lzw.php ребята, помогите пожалуйста, очень нужно и времени в обрез!!! |
Цитата:
Цитата:
Запрос к Google, и просмотр первой страницы с ссылками, должен снять все вопросы по нахождению готового алгоритма. Метод LZW-сжатия данных |
stas_newar, во первых пропущена закрывающая скобка "}" функции output_code () в конце исходника, что сразу бросается в глаза при копировании.
После добавления, с предупреждениями Код:
lzw.c(153) : warning C4716: 'compress' : must return a value Во вторых, на algolist.manual.ru сказано, что данный исходник предназначен для компиляторов С под MS-DOS, так что скажем в gcc в Ubuntu сборка не гарантируется. |
lxa85,
вот, что выдает компилятор stas@stas-laptop:~$ gcc lzw.c lzw.c: В функции ‘main’: lzw.c:54: предупреждение: несовместимая неявная декларация внутренней функции ‘exit’ lzw.c:54: ошибка: слишком мало аргументов в вызове функции ‘exit’ lzw.c:61: предупреждение: несовместимая неявная декларация внутренней функции ‘strcpy’ lzw.c:72: предупреждение: несовместимая неявная декларация внутренней функции ‘exit’ lzw.c:72: ошибка: слишком мало аргументов в вызове функции ‘exit’ lzw.c:80: предупреждение: несовместимая неявная декларация внутренней функции ‘free’ lzw.c:89: предупреждение: несовместимая неявная декларация внутренней функции ‘exit’ lzw.c:89: ошибка: слишком мало аргументов в вызове функции ‘exit’ lzw.c: В функции ‘decode_string’: lzw.c:264: предупреждение: несовместимая неявная декларация внутренней функции ‘exit’ lzw.c:264: ошибка: слишком мало аргументов в вызове функции ‘exit’ lzw.c: В функции ‘output_code’: lzw.c:301: ошибка: expected declaration or statement at end of input установлен последний пакет gcc и g++... кстати по твоей ссылке, точно такие же ошибки выдает. Admiral, а разве исходники предназначенные для компиляторов С под MS-DOS и исходники предназначенные для компиляторов С под Linux имеют отличия? ведь язык С, он и в Африке С, или я что-то не так понимаю... |
stas_newar, ошибки выводятся даже по-русски и говорят о недостаточном количестве передаваемых параметров функции exit - нужно заменить хотя бы на exit(1)
По последней ошибки ответ находится в 3 посте. |
Admiral,
выставил всем надписям exit значение 1, но компилятор всеровно выдает ошибку: lzw.c: In function ‘main’: lzw.c:54: warning: incompatible implicit declaration of built-in function ‘exit’ lzw.c:61: warning: incompatible implicit declaration of built-in function ‘strcpy’ lzw.c:72: warning: incompatible implicit declaration of built-in function ‘exit’ lzw.c:80: warning: incompatible implicit declaration of built-in function ‘free’ lzw.c:89: warning: incompatible implicit declaration of built-in function ‘exit’ lzw.c: In function ‘decode_string’: lzw.c:264: warning: incompatible implicit declaration of built-in function ‘exit’ lzw.c: In function ‘output_code’: lzw.c:301: error: expected declaration or statement at end of input обновил Ubuntu до 9.10 , поэтому уже пишет в чем ошибки на английском... |
Цитата:
Цитата:
Цитата:
|
Время: 02:06. |
Время: 02:06.
© OSzone.net 2001-