Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Вопрос по С/С++  (Прочитано 286 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн voldim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
Вопрос по С/С++
« : 10 Июль 2017, 01:42:37 »
Возможно ли подключение динамической библиотеки *.so к проэкту не имея заголовочного файла от этой библиотеки? Имеется динамическая библиотека с нужным функционалом, исходного кода этой библиотеки как и заголовочного файла нету.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1205
    • Просмотр профиля
Re: Вопрос по С/С++
« Ответ #1 : 13 Июль 2017, 22:50:17 »
Теоретически это возможно.
Надо самому написать этот заголовочный файл. Понятное дело, задача может быть _очень_ нетривиальной, да и просто неосуществимой, если вам неизвестно, какие параметры надо передавать библиотеке (количество и типы), а также типы возвращаемых значений.

С другой стороны,
Код: C
  1. void printf(char *fmt, ...);
  2. int main (void) {
  3.  int i=2;
  4.  printf("Hello, i = %d\n", i);
  5.  return 0;
  6. }
вполне себе компилится без всякого  stdio.h
gcc -fno-builtin noheader.c -o noheader

Если у вас есть дока по библиотеке, то опишите все используемые функции и вперед!
Делюсь знаниями, но их у меня мало!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14170
  • Я не слышу.
    • Просмотр профиля
Re: Вопрос по С/С++
« Ответ #2 : 14 Июль 2017, 00:16:41 »
/* victor00000
* gcc test.c -o test
* ./test 0 12 345 abcdef
*/
#include <stdio.h>

int main (int ac, char *av[]){
int i;
for ( i=1; i<ac; i++){
while (*av[i]){
printf ("%c",*av[i]);
av[i]++;
}
printf ("\n");
}
return 0;
}
:)
RuTorrent
3D
Душинckий B.B.

 

Страница сгенерирована за 0.114 секунд. Запросов: 23.