vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
yuriusКак я и предупреждал, это может идти до бесконечности, исправишь одно выскочит другое. Насколько я понял все ошибки идут при работе с длинными строками. Я не спец по функциям при работе со строками, точнее не знаю всех тонкостей, а потому остается только пробовать методом тыка, например, попробуй заменить strncat на strcat
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
Уточнение в части возникающих ошибок - грубо говоря ошибки обусловлены ограничением длины строки при их копирования и их дальнейшем склнивании. Привожу краткое пояснение некоторых функций, на основании которых и делал замену strncpy – копирование строк c ограничением длины ................. заменили на memcpy – копирование непересекающихся массивов UPD - хотя по идее может быть нужно было заменить на strcpy – копирование строк Далее по анологии strncat – объединение строк c ограничением длины добавляемой строки ........... меняем на strcat – объединение строк. Так что можно еще попробовать strncpy заменить на strcpy - вообщем пробуй. А вообще не зная кухни, что там делается, это одно гадание
Ошибки не исчезают с опытом - они просто умнеют
|
yurius |
|
Темы:
81
Сообщения:
899
Участник с: 01 января 2018
|
vasek
В общем, да, судя по всему, дохлый номер. Ладно, бог с ним, не буду больше отнимать время общественности, всем спасибо, буду собирать на Дебиане (для чего же и держу 3 винта с тремя разными Линуксами). |
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
yurius yurius Так оно и будет, аргументов больше - нужно править и аргументы strncat (char *destination, const char *append, size_t n) destination – указатель на массив в который будет добавлена строка. append – указатель на массив из которого будет скопирована строка. n – максимальная длина добавляемой строки. strcat (char *destination, const char *append) destination – указатель на массив в который будет добавлена строка. append – указатель на массив из которого будет скопирована строка. И да, не мучайся, давно уже писали - собери на Debian EDIT 1 - нагуглил один документ по данному типу ошибок и их исправлению, который подтведил мою версию с обработкой строк. Там же приведено решение на какие менять функции и какие должны быть аргументы - если осилишь, можешь пробовать.
Ошибки не исчезают с опытом - они просто умнеют
|
yurius |
|
Темы:
81
Сообщения:
899
Участник с: 01 января 2018
|
vasekДа, уже собрал, просто моя рабочая система - это Арч, потому и хотел решить проблему. А так да, это уже дебри, я такое не потяну. |
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
yurius, посмотри предыдущий пост, там привел документ по исправлению ошибок.
Ошибки не исчезают с опытом - они просто умнеют
|
yurius |
|
Темы:
81
Сообщения:
899
Участник с: 01 января 2018
|
vasekИнтересно, спс. Попробую и отпишусь в случае успеха (точнее, в случае понимания смысла вообще )) |
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
Не точно выразился, в принципе, это не документ, а идет обсуждение аналогичной ошибки с обработкой строк в gcc 8, полученных при компиляции GDB и приводятся способы по замене функций и аргументов. Хотя в конце есть неплохое замечание, что лучше правильно использовать функцию strncpy. Встречались при гуглении и способы правильного использования этой функции, чтобы не получать ошибки подобного типа. Думаю, что ошибки обусловлены не точным применением функции копирования строки с ограничением в данном проекте, что и не нравится новому gcc8.
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
24
Сообщения:
8409
Участник с: 16 августа 2009
|
vasekА если собирать другим gcc под которого писались исходники, или который на дебе. В репах и ауре есть разные версии. При сборке переключаться на нужную. Примеры из пакбилдов программ со сборкой другой версией gcc
|
yurius |
|
Темы:
81
Сообщения:
899
Участник с: 01 января 2018
|
vasekИсправил на strcpy, сделал меньше аргументов (как Я это прочитал и понял) - посыпались другие ошибки. Не, тёмный лес для меня, ну его. vs220 Это в bashrc надо или куда? Так вроде в исходниках есть некий gcc, я правда не знаю, то ли это что нужно. По адресу /home/yurius/папка_с_исходниками/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/ (а дальше идёт ...bin/arm-linux-androideabi-* - то есть сами бинарники уже). Это то или не то? И если то, то как и где указать к нему путь (какую директорию назначить последней - gcc, или arm-linux-androideabi-4.8 ...?). |