[devel] Re: RFC: test-libs
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Июн 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
$
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050619/0f6237d2/attachment-0001.bin>
Подробная информация о списке рассылки Devel