flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
redsock 09 Feb 2015, 04:28
my understanding is that this is quite by design, imagine the case scenario where libc functions for example use a static library space to do their thing (inet_ntoa comes to mind), if this were actually global or system-wide, then the library would have to do some pretty crazy locking, whereas the much more elegant occurs, each process that uses it needs to figure out how to deal with its static space on its own...
Please correct me if I'm wrong about this, but I am pretty sure that is the way it is meant to work. |
|||
![]() |
|
eilenbeb 09 Feb 2015, 04:58
I hear ya. Makes my life a lot simpler....
I was mostly double checking just to make sure I wasn't doing anything wrong when creating my libs. Thanks for the reply, I'm gonna go back to coding assuming that's the way it's supposed to be. |
|||
![]() |
|
JohnFound 09 Feb 2015, 05:44
It is normal. Similar technique is used in Windows as well. The memory page is common across the processes only while read-only. On the first write, the page is cloned and becomes different for the application that wrote the data.
|
|||
![]() |
|
eilenbeb 09 Feb 2015, 06:48
Thanks for the details. Know any way to bypass this for select data?
See, I've been thinking that it would be of use to me to be able to share -settable- data between my libs clients. Hmm... Should I start a new topic for this? |
|||
![]() |
|
revolution 09 Feb 2015, 08:38
You can use a file for global shared data. A file is semanticly the same as system wide data. The file doesn't have to be instantiated on to a physical disk, it can be virtual in memory only.
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.