Подтвердить что ты не робот

Ускорить как библиотеки в C

Можете ли вы рекомендовать рецензируемые библиотеки, которые я могу использовать в среде C (что-то вроде Boost для С++)? Что-то, что обеспечивает хэш, поток, межпроцессные коммуникации, списки, интеллектуальное управление памятью...

Окружающая среда - это встроенная система, а не очень минимальная система, но также не ПК!

4b9b3361

Ответ 1

+1 для GLib от меня тоже. Кроме того, он имеет свой собственный API потоковой передачи, поэтому вам не нужно изучать pthreads, если вы этого не хотите.

Не уверен, что в C существует такая вещь, как "интеллектуальное управление памятью", это не очень просто, когда у вас нет защитных сетей деструкторов и управления операторами. Но, опять же, у GLib есть много структур данных, ориентированных на память, и вещи, которые действительно облегчают жизнь.

И нет, я не в команде GLib, но мне действительно нравится.:)

Ответ 2

Я не уверен, что вы найдете одну библиотеку, которая покрывает все это... но вы можете проверить glib и pthreads, чтобы покрыть это.

Ответ 3

Просмотрите проект Apache Portable Runtime (APR).

Некоторые из этих функций:

  • API управления памятью
  • потоки, мьютексы
  • файл ввода/вывода
  • атомные операции
  • хэш-таблицы, массивы
  • сетевые сокеты и протокол
  • общая память, mmap

Не говоря уже о переносимости.

Ответ 4

Посмотрите Boehm GC - широко используемый консервативный сборщик мусора для C (или С++), который может удовлетворить ваши потребности, поскольку интеллектуальное управление памятью заинтересованных сторон.

Ответ 5

Я тоже буду прыгать на лейбле GLib. Помните, что C не предоставляет никакого синтаксического сахара для сложных структур данных, поэтому в GLib есть много отливок и длинных имен функций, но он действительно делает большую и эффективную работу с небольшой добавленной многословностью!

Ответ 6

О применении Glib.

Вероятно, вы можете взять то, что вам нужно, и перекрестно скомпилировать его. Так что если вам просто нужен пакет потоков - просто скомпилируйте это и не возьмите все.

Я делаю то же самое с Python VM. PyMite подходит для микроконтроллера и не использует все функции.