Вопросы по теме 'libc'

Как определить, с какого интерфейса сокет получил сообщение?
Если сокет привязан к IN6ADDR_ANY или INADDR_ANY , и вы используете вызов, такой как recvfrom() , для получения сообщений в сокете. Есть ли способ узнать, с какого интерфейса пришло сообщение? В случае с сообщениями области связи IPv6 я...
5894 просмотров
schedule 31.05.2022

взаимодействие библиотеки с dlsym
Я пишу интерпозиционную библиотеку для отслеживания использования некоторых библиотечных функций в libc, таких как open(), close(), connect() и т. д. Обычно она хорошо работает в большинстве приложений. Однако, когда я пробую это с PHP, используя, в...
810 просмотров
schedule 28.08.2023

Ищу чистую c-версию функций math.h (без поддержки сопроцессора)
Мне приходится работать с некоторым (полу-) автоматическим программным обеспечением для проверки (CBMC (link) ), которое статически работает с исходниками C. Поддерживаются числа с плавающей запятой, но нет определений для всех математических...
1702 просмотров
schedule 20.10.2022

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

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

Как (GNU/BSD) макросы libc могут быть безопасными?
После повторной реализации некоторых функций libc (в «личном» проекте моей школьной библиотеки под названием libft ), у меня возникла идея реализовать некоторые из них в виде макросов, например: #define ft_isalnum(c) (ft_isalpha(c) ||...
331 просмотров
schedule 20.07.2022

uclinux — ссылка на библиотеку libc.so.0
Я пытаюсь скомпилировать приложение C «hello world» для встроенной системы с процессором ARM под управлением uClinux. Я использую эту цепочку инструментов Когда я скомпилировал приложение C с флагом компиляции -static, приложение работает...
3453 просмотров
schedule 28.04.2022

Возвращаемое значение функции system()
#include<stdio.h> #include<stdlib.h> main() { printf("Hello World..\n"); system("ls"); } Здесь... ПРИ УСПЕШНОМ выполнении системная функция возвращает состояние команды "ls"... а ПРИ ОШИБКЕ возвращает -1.. так может ли кто-нибудь...
859 просмотров
schedule 09.01.2024

cmpfunc в функции qsort() в c
Может кто-нибудь объяснить мне cmpfunc , который используется в функции qsort ? Что такое a и b в этой функции и на что они указывают? int cmpfunc(const void *a, const void *b) { return(*(int*)a - *(int*)b); }
5848 просмотров
schedule 24.01.2024

arm gcc по умолчанию компилирует свою libc
Я пытаюсь скомпилировать SDK со встроенным компилятором gcc в cygwin. Это SDK на основе makefile. Моя цель — устройство Cortex m3. Моя проблема в том, что SDK имеет собственную реализацию libc для цели, и когда я компилирую с помощью компилятора...
1647 просмотров
schedule 09.09.2022

Ошибка сегментации 11, связывающая 32-битный ассемблер os x
ОБНОВЛЕНИЕ: Конечно же, это была ошибка в последней версии nasm. Я «понизил» и после исправления моего кода, как показано в ответе, который я принял, все работает правильно. Всем спасибо! У меня проблемы с тем, что должно быть очень простой...
543 просмотров
schedule 21.10.2022

Как я могу отладить программу, связывающую определенную версию общей библиотеки?
привет мир.с: int main(){} [1] 9845 недопустимая аппаратная инструкция (дамп ядра) LD_PRELOAD=./libc.so.6 ./helloworld Эта предварительная загрузка libc является старой версией glibc. Могу ли я отлаживать helloworld, связывая его в...
125 просмотров

Преобразование вывода libc::getcwd в строку
Я хотел бы распечатать результат libc::getcwd . Моя проблема в том, что для создания getcwd требуется буфер i8 ( c_char ), тогда как String::from_utf8 нужен буфер u8 . Я начал с: static BUF_BYTES: usize = 4096; fn main() { unsafe {...
523 просмотров
schedule 02.11.2023

Как узнать, какие числа с плавающей запятой использует libc?
Я использую систему redhawk 6.5.8 с GNU GCC 4.9.2. Я загрузил исходный код и скомпилировал GCC для платформы как собственный компилятор. Теперь мне нужно начать компилировать приложение, но, как вы знаете, плавающая точка, используемая в моих...
427 просмотров
schedule 20.02.2022

Что именно означает статически выделенный в libc? По одному экземпляру библиотеки? Один на экземпляр программы?
В (g)libc, например, в функциях времени и даты, таких как localtime , в руководстве говорится: Возвращаемое значение указывает на статически выделенную строку, которая может быть перезаписана последующими вызовами любой из функций даты и...
149 просмотров

Ограничены ли параллельные вызовы `fstat`, `lstat` или `stat` лимитом открытых файлов в Linux?
Примерно так, как в названии: Ограничены ли параллельные вызовы fstat , lstat или stat лимитом открытых файлов в Linux? Вопрос, вероятно, сводится к тому, будут ли эти вызовы ( fstat , lstat , stat ) каким-либо образом использовать...
105 просмотров
schedule 05.04.2023

GCC: компиляция приложения без связывания какой-либо библиотеки
Я знаю, как скомпилировать приложение C без связывания какой-либо библиотеки с использованием GCC во встроенном приложении с нуля, просто настроив функцию (ы) запуска и, в конечном итоге, файл startup.s сборки. Вместо этого я не могу делать то же...
1422 просмотров
schedule 08.06.2024

версия GLIBC_PRIVATE не определена в файле ld-linux-x86-64.so.2
если кто-нибудь может помочь новичку в проблеме с версией gcc? Я встретил проблему на "version GLIBCXX_3.4.20' not found" . После того, как я перешел по ссылке: Как Установить gcc 5.3 с yum на CentOS 7.2? Я столкнулся с дополнительными...
24452 просмотров
schedule 24.09.2022

Как добавить программу C между libc и системным вызовом в Android?
Я разрабатываю проект в android. Который будет перехватывать все запросы ввода-вывода (чтение/запись) в приложении. Теперь я решил добиться этого в функции чтения/записи libc. Но я обнаружил, что функция чтения/записи написан на языке ассемблера....
262 просмотров
schedule 01.06.2024

Вызов функции libc из сборки
У меня есть функция, определенная в сборке, которая вызывает функцию libc (swapcontext). Я вызываю эту функцию из моего кода C. Чтобы создать воспроизводимый пример, я использую вместо этого "put": foo.S: .globl foo foo: call puts...
604 просмотров
schedule 16.06.2022