важные so в системе (динамические библиотеки)

Модератор: Модераторы разделов

Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

важные so в системе

Сообщение rthsobakas »

so как dll в винде- динамические библиотеки. Меня всегда мучал вопрос. Некоторый софт пишут с использование системных или левых каких то дин. библиотек. Как прогер должен узнать её содержимое? То есть мне нужно работать с математикой. Там нужно юз кучу интегралов и тд. Но я знаю, что кто-то умный уже написал такую библиотеку, но я ниче не знаю о ней (как она называется, описание её и тд). Что в таком случае должен сделать профи?
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: важные so в системе

Сообщение Mage-Warrior »

  • Читать документацию по API библиотеки "от производителя".
  • Многое есть во встроенной системе документации (info, man).
  • Для программирования все равно пригодятся заголовки используемых библиотек, там тоже можно почерпнуть хорошую долю информации. Но заголовки изучать не совсем удобно.
Так, вроде.
Но в начале можно и google помучить :)
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

я к чему это говорю. Библиотек очень много сделали. А о них мало кто догадывается. И поэтому многие делают постоянно свой велосипед. Может имеет смысл сделать сайт, где бы была инфа по ним (ф-ии, описание и тд)?
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: важные so в системе

Сообщение Rootlexx »

rthsobakas писал(а):
03.09.2009 17:48
Может имеет смысл сделать сайт, где бы была инфа по ним (ф-ии, описание и тд)?

« Решено: Список основных С/С++ библиотек ».
Спасибо сказали:
Аватара пользователя
nadge
Сообщения: 1519
ОС: ArchLinux, Ubuntu 10.10

Re: важные so в системе

Сообщение nadge »

Пользователям некоторых дистров (гента, слака) со временем становится известна куча библиотек... Я это к тому, что если вам нужна некая функция, вы можете спросить на форуме, есть ли библиотека, которая это реализует.

Ну этот как вариант. На форуме заодно могут рассказать и о качестве реализации, что весьма ценно.
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

Rootlexx , ух... Если честно мало что там понял.
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: важные so в системе

Сообщение Mr Y »

rthsobakas писал(а):
03.09.2009 17:48
я к чему это говорю. Библиотек очень много сделали. А о них мало кто догадывается. И поэтому многие делают постоянно свой велосипед. Может имеет смысл сделать сайт, где бы была инфа по ним (ф-ии, описание и тд)?

Этот сайт называется Google )))

Как-то мне самому нужно было найти кое-какую библиотеку для работы с математикой, я ввел нужный запрос в Google и получил все что хотел =)
Так что, профи умеют составлять запросы для Гугла (и знаю английский - язык программистов).
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

начинается...
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: важные so в системе

Сообщение /dev/random »

iУведомление от модератора
Едем в программирование
Спасибо сказали:
Аватара пользователя
proDOOMman
Сообщения: 284

Re: важные so в системе

Сообщение proDOOMman »

А я просто ищу в пакетном менеджере библиотеки по описанию (eix -Sc <description>), а потом как найду гугл://библиотека и смотрю отзывы. Очень быстро и удобно получается.
Ubuntu LL x86 on Acer Extensa 5635G
Спасибо сказали:
Аватара пользователя
kt315e
Сообщения: 318
ОС: Debian 11

Re: важные so в системе

Сообщение kt315e »

Вообще для этого, существует описание библиотек, библиотеки без толкового описания я предпочитаю не использовать. Для численных вычислений универсальная библиотека gsl, несколько громоздкая но вполне рабочая, есть в большинстве дистрибутивов. Что конкретно надо?
Спасибо сказали:
svary
Сообщения: 49
ОС: Linux FC-9

Re: важные so в системе

Сообщение svary »

rthsobakas писал(а):
03.09.2009 15:43
То есть мне нужно работать с математикой.


Find Mathematics Software
SurceForge.net
Там список математических библиотек на 268 страницах...
Потянет ? :-)
Спасибо сказали:
i18n
Сообщения: 192

Re: важные so в системе

Сообщение i18n »

www.google.ru и читать документацию до полного просветления, иного не дано. Или Вы ожидаете, что для Вас все разжуют, на блюдечке принесут и в рот положат?
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

www.google.ru и читать документацию до полного просветления, иного не дано. Или Вы ожидаете, что для Вас все разжуют, на блюдечке принесут и в рот положат?

Ну если появится такой ресурс о котором я говорил(см выше),то так и будет ваще-то.
Вот ребята подумайте сами.
Когда не было Википедии, были челы предлагающие такую идею и над нимим все ржали. И говорили Google.ru. Ну и че? Появилась википедия и полюбому все ей пользуетесь!
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

Find Mathematics Software
SurceForge.net
Там список математических библиотек на 268 страницах...
Потянет ? :-)

а где там описание библиотек? Вот к примеру прога http://sourceforge.net/projects/wxmaxima/.
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

линуксфорум находится же на каком -то серваке. Может админ разместит движок википедии рядом(ну н-р lib.linuxforum.ru) и все будут туда выкладывать инфу по библиотекам? Также проще намного будет+ по русски как никак.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: важные so в системе

Сообщение Portnov »

iУведомление от модератора

Практика показывает, что предложения вида 'а давайте вот сделаем X, и все будут работать, а я буду использовать' приводят к банальному флейму. Топикстартеру: хотите сделать что-то полезное - заведите wiki на той же wikia.com и наполняйте, если это кому-то нужно - скажут спасибо, а может и присоединятся.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

Portnov , писали бы нормально)
В принципе я уже скачал движок. Но сервака все равно нету. Можно конечно на бесплатном,но он тормозить будет. Ну вообщем не знаю. Если сервак найду и никто это не сделает,то сделаю.
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: важные so в системе

Сообщение Mr Y »

rthsobakas все-таки прав, сайт - это хорошо. Хорошо, когда есть сайты, на которых собрана коллекция ссылок на ПО определенной тематики. Что-нибудь типа этого.
Сделаете такой сайт - много людей будут вам очень признательны.
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

Ну как насчет готовых движков ВИКИ? Чтобы не мастерить велосипед заново. Очень удобная вещь. Правда я почему -то не могу понять там почему когда слово поиска вводишь,подсказка не высвечивается из ряда похожих слов,как это происходит в википедии.
Ну вот для примера и ознакомления Энциклопедия дин библиотек

Как вытаскивать названия функций из фаилов библиотек вот написал статью не большую http://lib.edl.tu2.ru/index.php/Вытаскивание_Процедур

Чтобы там(ну на сайте) добавить материал нужно:
1) зарегаться
2)просто смотришь ,если ссылка красная- значит статьи по ней нет. Потом щелкаешь на нее и пишешь статью.

Минусы хостинга:
1) тормозной очень так как бесплатный
2) места на диске они выделяют 80мб а для мускл 20мб. То есть маловато
3) БэкАп БД запаришься делать. Мусклдамп не пашет. Скрипт ДумпСкайпер тоже ошибку выдает. Только через пхпадмин удается и очень долго делает он.
4) пропускная способность мелкая очень.

Посему просто посмотрите на сайт оцените идею и ниче не пишите,толку все равно нет нужно нормальный хостинг искать. Или проплатить и на платном держать. Скинемся на платный?
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: важные so в системе

Сообщение frp »

rthsobakas писал(а):
04.09.2009 19:14
Portnov , писали бы нормально)
В принципе я уже скачал движок. Но сервака все равно нету. Можно конечно на бесплатном,но он тормозить будет. Ну вообщем хз. Если сервак найду и никто это не сделает,то сделаю.

Есть ведь бесплатные хостинги с php. И работают они не медленно. Если вас не сильно раздражает реклама или маленькие дисковые квоты, то вполне сойдет.

Лично использовал ho.ua, но там выгоняют если ваш сайт сильно нагружает сервер.
Спасибо сказали:
Аватара пользователя
rthsobakas
Сообщения: 366
Статус: ушел и больше не вернусь!!!
ОС: Suse11.1

Re: важные so в системе

Сообщение rthsobakas »

ну есть в инете благотворительные хостинги. Я Написал заявку одному хостеру. Если помогут , то будет замечательно.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: важные so в системе

Сообщение frp »

rthsobakas писал(а):
13.09.2009 15:18
ну есть в инете благотворительные хостинги

Я не видел еще никакого хостера, который преследовал бы какие-нибудь цели кроме "заработать много денег". Тоесть я не видел еще бесплатных хостингов без рекламы.
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: важные so в системе

Сообщение MakkyWelly »

Кстати, хотел спросить - функций syscall лежит в какой-нибудь стандартной библиотеке?
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: важные so в системе

Сообщение Portnov »

Ну во-первых надо отличать собственно syscalls и их обёртки. Хотя те и другие лежат в 'стандартных библиотеках': syscalls - в ядре, обёртки - в libc.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: важные so в системе

Сообщение MakkyWelly »

т.е. если я использую printf, то к приложению автоматически компонуется libc, значит syscall тоже там? Можно вызвать её с помощью dlsym?
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: важные so в системе

Сообщение MakkyWelly »

Хм, у меня вообще libc.so не открывается с помощью dlopen, пишет, что плохой заголовок ELF файла.
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: важные so в системе

Сообщение Portnov »

printf - это не syscall, а библиотечная функция. Она использует вызов write() (man 2 write).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
MakkyWelly
Сообщения: 97
ОС: по обстоятельствам :)

Re: важные so в системе

Сообщение MakkyWelly »

printf - это не syscall, а библиотечная функция.


0_0 я такого не говорил ))

Я имею в виду такой учебный пример:

Код: Выделить всё

#include <stdio.h>
#include <dlfcn.h>
#include <string.h>

int main() {
  void *dl_handle;
  int (*system_call)(int, ...);
  char *error;

  dl_handle = dlopen("libc.so", RTLD_LAZY);
  if (!dl_handle) {
    printf("Error in `dlopen`: %s\n", dlerror());
    return -1;
  }

  system_call = dlsym(dl_handle, "syscall");
  error = dlerror();
  if (error != NULL) {
    printf( "Error in `dlsym`: %s\n", error );
    dlclose(dl_handle);
    return -1;
  }

 ////

  dlclose( dl_handle );

  return 0;
}

В чём тут может быть ошибка?
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: важные so в системе

Сообщение Ali1 »

Portnov
Скажите, как должна быть собрана libc, чтобы вызов был через sysenter/sysexit?
Спасибо сказали: