LINUX.ORG.RU

Re: extern const ... для чего нужно extern

говорит о том, что реально константа определена в другом месте

alexru ★★★★ ()
Ответ на: Re: extern const ... для чего нужно extern от anonymous

Re: extern const ... для чего нужно extern

IID_IUnknown - это наверное про COM. Вообще что-то про COM для Linux где-то есть. И скорее всего именно для переноса программ из Windows, потому что в Linux и без COM зоопарк неуниверсальных компонентных моделей.. Но для переноса COM-программы, как минимум, нужен программист, который в этом COM разбирается. Если автор из таких - успехов

erDiZz ()

Re: extern const ... для чего нужно extern

и это... просто для const память не выдлятся, а для extern const - да, т.к. видимость у const - одна единица компиляции, а для extern const - хммм... посложнее.

Pi ★★★★★ ()
Ответ на: Re: extern const ... для чего нужно extern от Pi

Re: extern const ... для чего нужно extern

А у меня другая информация:

const - это _только_ модификатор правила доступа ("только чтение"), и даже для глобальной переменной вида

static const int foo = 10;

в объектном файле будет заботливо выделено 4 байта в секции данных, в которых будет зашито значение 10, а при исполнении функции

void bar () { const int foo = 1; }

на стеке будут выделены те же четыре байта, в которые ляжет значение 1

erDiZz ()
Ответ на: Re: extern const ... для чего нужно extern от erDiZz

Re: extern const ... для чего нужно extern

а я ничего противоречивого не сказал - уточню: в рамках одной единицы компиляции что надо тупо забивается значениями, а при extern значение кладётся в память, а "на местах" обращаются к этой ячейки.

т.е. о разных вещах говорим.

Pi ★★★★★ ()
Ответ на: Re: extern const ... для чего нужно extern от Pi

Re: extern const ... для чего нужно extern

На сомом деле все зависит от того, кто именно const. В одних случаях память под этот объект может быть выделена, в других - нет.

devinull ★★ ()
Ответ на: Re: extern const ... для чего нужно extern от Pi

Re: extern const ... для чего нужно extern

> просто для const память не выдлятся, а для extern const - да

если компилятор увидит что берется адрес const переменной,
то память будет выделена и в случае просто const.

Причем для
const int i = 2;
const int j = 2;

будет выделено две разных ячейки, а не одна.

dilmah ★★★★★ ()
Ответ на: Re: extern const ... для чего нужно extern от Pi

Re: extern const ... для чего нужно extern

>просто для const память не выдлятся

память не выделяется ровно до тех пор, пока кто-нибудь не заинтересуется адресом этой константы.

Если его автор вопроса понимает, для чего нужен просто extern и для чего нужен просто const, то чего же он тогда не понимает?

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