|
|
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
White OwlКаждая LoadLibrary порождает кусок памяти для глобальных переменных объявленных в dll. Сколько раз LoadLibrary сделали - столько копий глобальной переменной создали.Второе предложение можно понять так, что при каждом вызове LoadLibrary будет появляться новая копия глобальной переменной. Ziv же тебя поправил, что так делает только первый вызов функции, остальные (для этой же дллки) никаких копий глобальной переменной не создают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 10:52 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
maXmoто есть глобальную переменную нужно определять в дллке. Эту дллку загружать во всех дллках и в проге. Если я всё помню правильно, у дллки своя память и будет только один экземпляр переменной. Но это лучше уточнить. Неправильно помнишь. нет у Dll-ки "своей" памяти, она маппируется в адресное пространство процесса. Win32 старается по возможности использовать секции совместно (между различными экземплярами процесса), но при записи, создается копия секции. Для того, чтобы секция разделялся МЕЖДУ процессами, ее нужно при линковке объявить разделяемой. Как я показал (и это вызвало твой нездоровый смех). При этом обязательно синхронизировать доступ к разделяемой памяти. Если же разделять данные между процессами не нужно, то я вообще не вижу какой-то проблемы достойной создания топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 11:46 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)нет у Dll-ки "своей" памяти, она маппируется в адресное пространство процесса.это-то ясно. Под своей памятью я подразумевал то, что эта память не дублируется при множественной загрузке дллки. То есть память дллки не принадлежит модулю, загрузившему дллку, а разделяется между всеми модулями, загрузившими дллку. По логике-то если модуль загружает дллку, то чтобы он с ней ни делал, это не должно влиять на поведение дллки в других модулях, а оно на самом деле влияет. В этом смысле память дллки принадлежит дллке и с ней не слудет обращаться так, будто она принадлежит модулю, загрузившему дллку. Ясен пень, что вся память процесса принадлежит процессу, это как бы никто сомнению не подвергал. Дались вам эти процессы, будто жить без них не можете. Gluk (Kazan)Если же разделять данные между процессами не нужно, то я вообще не вижу какой-то проблемы достойной создания топика.данные нужно раделять между ехешником и его дллками. И не просто разделять, а сделать глобальными, то есть вариант с передачей указателя - это не совсем то :) Интересно, почему ты не подумал, что чел хочет разделять память между машинами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 12:09 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
потому что у чела явно нет кластера он и задачу то внятно сформулировать не может если можно назвать это задачей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 14:58 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
телепатия - это умение не фантазировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 15:22 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
нет, телепатия это способность сверхчувственного восприятия и я ей к сожалению не владею предлагаю флейм на этом прекратить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 16:29 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)предлагаю флейм на этом прекратитьподдерживаю :) полезная информация исчерпалась в контексте темы Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 16:33 |
|
||
|
Опять глобальные переменные
|
|||
|---|---|---|---|
|
#18+
maXmo White OwlКаждая LoadLibrary порождает кусок памяти для глобальных переменных объявленных в dll. Сколько раз LoadLibrary сделали - столько копий глобальной переменной создали.Второе предложение можно понять так, что при каждом вызове LoadLibrary будет появляться новая копия глобальной переменной. Ziv же тебя поправил, что так делает только первый вызов функции, остальные (для этой же дллки) никаких копий глобальной переменной не создают.Ну да, поправил. Я согласен с его поправкой. А вот с твоим пояснением его поправки я уже не согласен, по той же самой причине по которой MasterZiv начал поправлять меня. Если вы все еще понимаете кто что сказал и чьи слова надо считать за самую полную правду - вы молодец :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 19:45 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2030479]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
204ms |
get topic data: |
8ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 486ms |

| 0 / 0 |
