LINUX.ORG.RU

cast to pointer from integer of different size


0

0

есть программа на Ц под 32-бит. Пытаюсь собрать ее под 64: с какого-то перепугу она начинает плевать warinig'ми типа

Warning: cast to pointer from integer of different size на строчку bbdisplays = (char *) getenv("BBDISPLAYS");

То есть либо я идиот, либо чуваки, писавшие libc, все перепутали и допускают возможность присвоения адреса переменной, в которую адрес не влазит.

Куда податься ?


Вроде бы getenv не объявлена. stdlib.h включен ?

kosmonavt
()

дай больше кода, конкретно тип bbdisplays. и зачем ты делаешь (char *) если getenv и так его возвращает?

legk
()
Ответ на: комментарий от legk

> зачем ты делаешь (char *) если getenv и так его возвращает?

Вероятно, преобразование делалось потому, что getenv не описан, т.е. чтобы подавить предупреждение. В 64-битной модели получается преобразование 32-битного целого к 64-битному адресу.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.