[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