[devel] Re: RFC: test-libs
Alexey Tourbin
at на altlinux.ru
Вс Июн 19 17:49:54 MSD 2005
On Sun, Jun 19, 2005 at 04:56:00PM +0400, Andrey Astafiev wrote:
> > liba2ps /usr/lib/liba2ps.so.1 program_name
>
> program_name в данном случае -- имя внешней переменной.
> Как можно это исправить? Значит ли это, что библиотека
> не должна содержать объявлений типа extern char *program_name,
> как в данном случае?
Хм. Получается, что библиотека линкуется с бинарём, а не бинарь --
с библиотекой. extern объявления в библиотеке, конечно же, возможны,
но они, по идее, должны резольвиться в другие библиотеки, а не в бинари.
По поводу program_name, первое, что мне пришло в голову:
$ cat test.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *progname = getenv("_");
if (!progname)
return 1;
printf("%s\n", progname);
return 0;
}
$ gcc test.c
$ ./a.out
/home/at/./a.out
$
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.ru/pipermail/devel/attachments/20050619/0f6237d2/attachment.bin
Подробная информация о списке рассылки Devel