Всем доброго времени суток,
Собственно САБЖ. Тут такая извращенная необходимость возникла,
собрать программму sox в виде либы, а потом вызывать ее функцию main()
с необходимыми аргументами.
ЗЫ: Есть жуткое подозрение что нужно чето в makefile поменять, вот токо че?
Сборка приложения в виде либы
Модератор: Модераторы разделов
-
TwisT
- Сообщения: 265
- ОС: Debian
Сборка приложения в виде либы
Linux user #432536.
-
xorader
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
Re: Сборка приложения в виде либы
в либе функция "main" ?
Или мы не о "Си" ?
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
*offtopic* - ololo!
-
TwisT
- Сообщения: 265
- ОС: Debian
-
halturin
- Сообщения: 167
- ОС: Linux
Re: Сборка приложения в виде либы
так посвятите в сокральный смысл функции main в вашей предстоящей библиотеке
.
Вообще, библиотека - есть набор функций. Как собрать? Вот пример...
есть файл mycrypt.c
для сборки библиотеки создаем Makefile
Вообще, библиотека - есть набор функций. Как собрать? Вот пример...
есть файл mycrypt.c
Код:
#include <stdio.h>
#include <crypt.h>
char * mycrypt(char * cleartxt, char *hash)
{
return crypt(cleartxt, hash);
}; для сборки библиотеки создаем Makefile
Код:
CC = gcc
CFLAGS = -g -s -O2 -I. -fPIC
LDFLAGS = -shared
INSTALL = install
INCLUDES = /usr/include;
MYPATH = /usr/local/mylibs
all: mycrypt.so
LIBDIR = /usr/lib;/lib
LIBS +=crypt
mycrypt.so: mycrypt.c
$(CC) -o $@ $(LDFLAGS) $(CFLAGS) -l$(LIBS) mycrypt.c
install: mycrypt.so
$(INSTALL) $? $(MY_PATH)
clean:
rm -f ./*.so
rm -f ./*.o
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Сборка приложения в виде либы
2 halturin
Никакого сокрально смысла там нет
нужно что бы программа находила только определенные файлы в указанных каталогах
файлы представляют из себя чистый ИКМ компандированный А-законом
вот, в что бы осуществить декомпрессию нужно заюзать sox или внести
исзодники sox в свою прогу, а там около 90 файлов
мне проще собрать sox как библиотеку и вызвать главную функцию с параметрами
потом будет сжатие в mp3 и отправка по SMTP, но это щас не главное
спасибо за пример :-)
Никакого сокрально смысла там нет
нужно что бы программа находила только определенные файлы в указанных каталогах
файлы представляют из себя чистый ИКМ компандированный А-законом
вот, в что бы осуществить декомпрессию нужно заюзать sox или внести
исзодники sox в свою прогу, а там около 90 файлов
мне проще собрать sox как библиотеку и вызвать главную функцию с параметрами
потом будет сжатие в mp3 и отправка по SMTP, но это щас не главное
спасибо за пример :-)
Linux user #432536.
-
sergeyvp
- Сообщения: 807
- ОС: ubuntu
Re: Сборка приложения в виде либы
так может просто системным вызовом воспользоваться
system()
system()
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Сборка приложения в виде либы
Не, начальство сказало чтобы был один
испольняемый файл + библиотеки
system() использовать можно, но не в этих целях
испольняемый файл + библиотеки
system() использовать можно, но не в этих целях
Linux user #432536.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
Re: Сборка приложения в виде либы
dlopen and other dl* 
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Сборка приложения в виде либы
Про dlopen и т.п. я знаю
мне бы для начала либу получить
мне бы для начала либу получить
Linux user #432536.
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
-
halturin
- Сообщения: 167
- ОС: Linux
-
TwisT
- Сообщения: 265
- ОС: Debian
Re: Сборка приложения в виде либы
Всем спасибо, проблему решил, хотя пришлось повозится
фишка была в том что прога собирала зачем то статическую библиотеку
а потом ее к себе линковала, если кому интересно вот ссылка
очень сильно помогла
ЗЫ: Теперь таварищи будем мучать протокол SMTP. Кто нить работал с ним?
Нужно файлы отправлять, а я чето смутно себе этот процесс представляю
фишка была в том что прога собирала зачем то статическую библиотеку
а потом ее к себе линковала, если кому интересно вот ссылка
очень сильно помогла
ЗЫ: Теперь таварищи будем мучать протокол SMTP. Кто нить работал с ним?
Нужно файлы отправлять, а я чето смутно себе этот процесс представляю
Linux user #432536.