Лучшие libc вопросы ИТ разработчиков

  • 51голосов
  • 2ответа
  • 0просмотров

Как использовать отладочную версию libc

Short version of question:Как я могу заставить GDB использовать символы отладки для libc? Longer version:Я отлаживаю программу с помощью gdb и хочу посмотреть информацию о futex, используемом libc. Тем не менее, в какой-то момент во время ...

Задан Apr 06, 2012, 8:48 PMотGabriel Southern
  • 10голосов
  • 2ответа
  • 0просмотров

Статическое связывание Android против динамического связывания с glibc

Я кросс-компилировал некоторые инструменты Linux (и некоторые из моего собственного кода C) для Android, и одна из проблем, с которыми я сталкиваюсь, состоит в том, что в libc Android есть некоторые отсутствующие / раздетые компоненты, и я в ...

Задан May 23, 2017, 12:31 PMотCommunityangadsg
  • 6голос
  • 1ответ
  • 0просмотров

Установка готового бинарного файла на Android: «не найден»

Я пытаюсь установить готовый двоичный файл в пользовательском образе Android. Для этого я скопировал его в новый каталог вprebuilt/android-arm/ сAndroid.mk файл похож на этот: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES ...

Задан Jun 25, 2009, 11:19 AMотJaime Soriano
  • 5голосов
  • 2ответа
  • 0просмотров

Android libc.so вылет?

Я использую AndEngine с расширением PhysicsBox2DE для создания игры. Моя игра продолжает падать, и я получаю это в неотфильтрованном LogCat: 07-06 13:25:27.266: I/DEBUG(19582): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ...

Задан Jul 06, 2012, 8:32 PMотrphello101
  • 12голосов
  • 3ответа
  • 0просмотров

Фатальный сигнал 7 (SIGBUS) при 0x00000000 (код = 2)

При использовании платформы OSGi на Android я получил следующее сообщение об ошибке: Фатальный сигнал 7 (SIGBUS) при 0x595302e0 (код = 2) Я неНе думаю, что моему приложению нужно столько места в памяти или много вычислительных ресурсов. Это ...

Задан Oct 25, 2012, 7:43 PMотRob Anderson
  • 8голосов
  • 3ответа
  • 0просмотров

realloc, но только первые несколько байтов имеют смысл

Предположим, я использовалptr = malloc(old_size); выделить блок памяти сold_size байт. Только первыйheader_size байты имеет смысл. Я'собираюсь увеличить размер до.new_size new_size больше, чемold_size а такжеold_size больше, чем ...

Задан Nov 06, 2012, 7:56 AMотlqs
  • 5голосов
  • 2ответа
  • 0просмотров

Есть ли сценарий, где можно использовать функцию FMA в libc?

Я сталкиваюсьэта страница [http://sourceware.org/newlib/libm.html#fma]и найти там странныйумножение с плавающей запятойфункция -fma а такжеfmaf, Это говорит о том, что результат примерно такой: (x * y) + z #fma(x,y,z)И значениебесконечная ...

Задан Nov 08, 2012, 2:24 PMотHongxu Chen
  • 12голосов
  • 3ответа
  • 0просмотров

Перекрывающиеся страницы с помощью mmap (MAP_FIXED)

Из-за некоторых неясных причин, которые не имеют отношения к этому вопросу, мне нужно прибегнуть к использованию MAP_FIXED, чтобы получить страницу, близкую к тому, где текстовый раздел libc находится в памяти. Перед чтением mmap (2) (что я и ...

Задан Feb 18, 2013, 6:37 PMотfons
  • 8голосов
  • 6ответов
  • 0просмотров

Модульное тестирование для неудачного malloc ()

Каков наилучший способ для модульного тестирования путей кода с участием неудачногоmalloc()? В большинстве случаев это, вероятно, нене важно, потому что тыты делаешь что-то вроде thingy *my_thingy = malloc(sizeof(thingy)); if (my_thingy == NULL) ...

Задан Nov 10, 2009, 8:04 PMотPillsy
  • 29голосов
  • 6ответов
  • 0просмотров

Где я могу найти исходный код для libc онлайн (например, doxygen) [закрыто]

Иногда я хочу посмотреть реализации функций в stdlib, яЯ скачал исходный код, но этодовольно грязно Просто грепинг не очень подходит из-за множества попаданий. Кто-нибудь знает стиль Doxygen веб-страницы с документацией. То же самое касается ...

Задан Dec 30, 2009, 4:10 AMотmonkeyking
  • 4голос
  • 1ответ
  • 0просмотров

Странная логика mktime с отрицательными секундами

мы использовали mktime / localtime для управления временем, включая некоторую арифметику по датам / времени. Я заметил кое-что очень странное, когда предоставлял mktime структуру, содержащую отрицательные значения. Возьми код ниже. Произошло ...

Задан Nov 20, 2013, 5:56 PMотMarcin Zukowski
  • 6голосов
  • 2ответа
  • 0просмотров

-Werror = format: как может знать компилятор

Я написал этот намеренно неправильный код printf("%d %d", 1);составление сg++ а также .-Werror=format Компилятор дает это очень внушительное предупреждение: error: format '%d' expects a matching 'int' argument [-Werror=format]Насколько я вижу, ...

Задан Dec 06, 2013, 12:04 PMотXPlatformer
  • 12голос
  • 1ответ
  • 0просмотров

Библиотека времени выполнения не соответствует и VC ++ - О, несчастье!

Кажется, что всю свою взрослую жизнь я мучился от того, что компоновщик VC ++ жаловался или шутил, потому что различные библиотеки не согласны с тем, какую версию библиотеки Runtime использовать. Я никогда не в настроении осваивать этот мрачный ...

Задан Mar 02, 2010, 12:09 AMотJive Dadson
  • 1голос
  • 1ответ
  • 0просмотров

sigemptyset () NDK UnsatisfiedLinkError dlopen ()

Определенный C-код в моем приложении Android NDK, вызываетsigemptyset() функция определена в signal.h. Я строю свой проект, используяNDK-r9. Мой библиотечный файл называется"Libnative-service.so"строится нормально, после компиляции c-кода. Но ...

Задан Sep 22, 2014, 1:24 PMотrevolutionary
  • 7голосов
  • 2ответа
  • 0просмотров

Как сделать ссылку на другой файл libc?

Я хочу предоставить разделяемые библиотеки вместе с моей программой, а не использовать целевую систему из-за различий в версиях. ldd говорит, что моя программа использует эти общие библиотеки: linux-gate.so.1 => (0xf7ef0000)**(made by kernel)** ...

Задан Apr 28, 2010, 10:19 AMотNeeladri Vishweswaran
  • 8голосов
  • 3ответа
  • 0просмотров

При вызове clock_gettime () может ли возвращаемое поле tv_nsec фактически превышать секунду?

Когда вы вызываетеclock_gettime() он возвращает структуру timepec. struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };На странице руководства я не нахожу гарантию, что tv_nsec не превысит одну секунду. Гарантия ...

Задан Jan 19, 2015, 4:47 PMотyves Baumes
  • 91голосов
  • 3ответа
  • 0просмотров

Как я могу ссылаться на конкретную версию glibc?

Когда я что-то компилирую на своем компьютере с Ubuntu Lucid 10.04, это связывается с glibc. Lucid использует 2.11 из glibc. Когда я запускаю этот бинарный файл на другом ПК с более старым glibc, команда терпит неудачу, говоря, что glibc 2.11 ...

Задан May 18, 2010, 10:45 AMотfalstaff
  • 83голосов
  • 7ответов
  • 0просмотров

Каково обоснование того, что fread / fwrite принимает размер и считается аргументом?

У нас здесь на работе обсуждалось, почему fread и fwrite берут размер на элемент и считают и возвращают количество прочитанных / записанных элементов, а не просто принимают буфер и размер. Единственное использование, которое мы могли ...

Задан Nov 17, 2008, 4:09 PMотDavid Holm
  • 8голос
  • 1ответ
  • 0просмотров

Перехват сообщений об ошибках libc, перенаправление из / dev / tty

Я пытаюсь перехватить сообщения об ошибках, которые генерирует libc при обнаружении ошибок. Например, мой тестовый код: #include <stdlib.h> int main() { char* p = (char*)malloc(10); free(p); free(p); }Создает этот вывод $ ./main *** Error in ...

Задан Aug 17, 2015, 5:31 PMотMark Lakata
  • 1голосов
  • 2ответа
  • 0просмотров

Инициализация sigset_t в Rust

Я пытаюсь узнать больше о FFI в Rust и связи с библиотеками C (особенноlibc). Во время моего «квеста» я столкнулся со следующей проблемой. Нормальная картина в Сvoid(* sig_set(int sig, void(*handler)(int))) { // uninitialized sigaction structs ...

Задан Dec 20, 2015, 1:08 AMотDaniel Robertson
  • 3голос
  • 1ответ
  • 0просмотров

Неправильное отображение структуры C на Rust

В образовательных целях я пытаюсь получить доступ кFILE структура в Rust: unsafe { let passwd = libc::fopen("/etc/passwd".to_ptr(), &('r' as libc::c_char)); let fp = &mut *(passwd as *mut MY_FILE); println!("flags={}, file={}", fp._flags, ...

Задан Aug 26, 2016, 2:53 PMотhansaplast
  • 1голосов
  • 2ответа
  • 0просмотров

Определение количества байтов, готовых к recv () &#39;d

Я могу использовать select (), чтобы определить, будет ли блокироваться вызов recv (), но как только я определил, что их байты должны быть прочитаны, это способ узнать, сколько байтов доступно в данный момент, прежде чем я вызову recv ( )?

Задан Oct 13, 2010, 5:29 PMотdicroce
  • 63голосов
  • 4ответа
  • 0просмотров

Ссылка на старую версию libc, чтобы обеспечить больший охват приложения

Двоичные файлы Linux обычно динамически связаны с базовой системной библиотекой (libc). Это сохраняет объем памяти двоичного файла довольно маленьким, но двоичные файлы, которые зависят от новейших библиотек, не будут работать на старых системах. ...

Задан Oct 27, 2010, 10:46 AMотGearoid Murphy
  • -2голосов
  • 3ответа
  • 0просмотров

Почему printf не может правильно обрабатывать флаги, ширину поля и точность?

Я пытаюсь раскрыть все возможности printf, и я попробовал это: printf("Test:%+*0d", 10, 20);это печатает Тест:% + 100d Я должен сначала использовать флаг+тогда ширина* и повторно использовать флаг0. Почему это сделать этот вывод? Я специально ...

Задан Nov 13, 2016, 2:47 PMотSadek
  • 11голосов
  • 2ответа
  • 0просмотров

Со страницы руководства regexec: «Скомпилированная форма не изменяется во время выполнения regexec (), поэтому один скомпилированный RE может использоваться одновременно несколькими потоками».

мом деле два отдельных вопроса: могу ли я использовать регулярные выражения в многопоточной программе без блокировки и, если да, могу ли я использовать один и тот же regex_t одновременно в нескольких потоках? Я не могу найти ответ в Google или на ...

Задан Dec 10, 2010, 12:30 AMотAlex
  • 1голосов
  • 0ответов
  • 0просмотров

Команда предполагает, что вы указываете только полные пути, поэтому не будет выполнять подстановку на

ел отладить функцию printf, поэтому, когда я вошел в функцию printf (отладчик gdb), она показала мне следующее: __printf (format=0x80484d0 " my name is Adam") at printf.c:28 28 printf.c: No such file or directory.Что это означает? И когда я ...

Задан Aug 13, 2017, 3:36 PMотuser117953
  • 62голосов
  • 2ответа
  • 0просмотров

На LLVM GCC мне не нужно добавлять -lm. Почему это?

от вопрос уже есть ответ здесь: Почему вы должны связать математическую библиотеку в C? [/questions/1033898/why-do-you-have-to-link-the-math-library-in-c] 9 ответовЯ только что обнаружил, что-lm Флаг необходим gcc для компиляции ...

Задан Jan 05, 2011, 4:10 PMотmatteoamc
  • 1голосов
  • 3ответа
  • 0просмотров

Используйте signalfd (). С ним легче работать и он безопасен для потоков.

ли функция, аналогичнаяIsBadReadPtr [http://msdn.microsoft.com/en-us/library/aa366713%28VS.85%29.aspx]в Unix? По крайней мере, некоторые функциональные возможности IsBadReadPtr? Я хочу написать процедуру, которая будет реагировать, если с ...

Задан Jan 06, 2011, 4:36 AMотStasM
  • 24голосов
  • 7ответов
  • 0просмотров

OP, по-видимому, не использует Linux, поэтому эти варианты на основе Linux не будут очень полезны.

маленький libc для встраиваемого использования с freertos на микроконтроллере ARM7. Я посмотрел на newlib, но это слишком сложно для моих нужд. Newlib вызывает malloc () для ряда функций (например, printf ()), что не подходит для небольших ...

Задан Feb 07, 2011, 12:56 PMотGT.
  • 1голосов
  • 2ответа
  • 0просмотров

Он не остановится на нулевом байте.

лиgets() остановка функции из языка Си (например, из glibc), если она читает нулевой байт ('\0') из файла? Быстрый тест:echo -ne 'AB\0CDE' Благодарю. PS этот вопрос возникает из комментариев в этом вопросе:вернуться в libc - проблема ...

Задан Feb 21, 2011, 4:11 PMотosgx
Пред1След