[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