Согласно сканеру LSB, мой двоичный файл является, предположительно, несовместимым с определенной версией Linux, потому что это использует символы GBLICXX_3.4.9. Но когда я пытался выполнить двоичный файл сам на той версии, все, кажется, хорошо работает...
Двоичный файл может даже запуститься на дистрибутиве Linux, если тот дистрибутив пропускает библиотеки времени выполнения, содержащие необходимые символы?
Не знаю, хорошо ли я понял вопрос, но, насколько я знаю, даже если вы скомпилировали свою программу с современным glibc, это не обязательно означает, что вы не сможете выполнить ее в более старой версии. Следующая команда Linux:
objdump -T "ваш exe или lib файл" | grep GLIB
покажет вам, к какой версии glibc принадлежат символы вашей программы.
Для дополнительной информации есть статья под названием How to write shared libraries by Ulrich Drepper, которая объясняет много вещей о том, как символы работают в linux не только для разделяемых библиотек, но и для исполняемых файлов
.Если добавить счетчик и немного переупорядочить код, это должно сработать (я не проверял это, так что могут быть синтаксические ошибки):
int count = 0;
String line = in.readLine();
while (line!=null) {
String currLine = line;
if(count==0){
//currLine is the first line
}
line = in.readLine();
if(line==null){
//currLine is the last line
}
if(count>0 && line!=null){
//do something with lines in between
System.out.println(currLine);
}
count++;
}
-121--1858891- попытайтесь также реализовать функцию ConvertBack, вы используете двустороннюю привязку, поэтому проблема может заключаться в том, что исключение будет проигнорировано «xaml», но при переходе в режим отладки вы можете остановить «send value back» -операцию?
-121--4067209-Я подозреваю, что они предупреждают вас о том, что вы используете символы, которые, даже если они доступны в вашей тестовой системе, могут быть доступны не во всех LSB-совместимых системах.