-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
It's supposed that a volatile variable can change "magically" (this is,
being modified by another thread, a device driver...), so the compiler
has to take that into account when doing optimizations.
A crude example in C:
volatile int v=1;
while(v==1) {
sleep(1);
}
(Let's assume that another thread will change the 'v' variable when
whatever-has-to-occur happens). In this example, the "volatile" is
mandatory because, without it, the C compiler probably will transform
that in something like:
if (v==1) {
loop:
sleep(1);
goto loop
}
optimizing the loop and doing the comparison one time, only at the
start, because it sees that the variable isn't being modified inside.
But when you add the "volatile", the C compiler will know that the
variable can be changed from other parts of the code, avoiding that
optimization and comparing the value in each loop.
"volatile" is a reserver keyword in C, so implementing it in Vala would
mean little more than adding it directly in the C source when found in
Vala source.
El 28/08/12 09:14, Mikkel Kamstrup Erlandsen escribió:
> On 24 August 2012 17:31, Tal Hadad <[email protected]> wrote:
>>
>> Is volatile keyword supported in Vala? Is it planned?
>> Few sources say it does, but testing showing it's not.
>>
>> I asked this question a month ago and no one replay.
>> Does Jörg Biller include this in Vala?
>
> This question is a bit scarce on detail. What do you expect volatile
> to do, and why do you need it?
>
> Cheers,
> Mikkel
> _______________________________________________
> vala-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/vala-list
>
- --
Nos leemos
RASTER (Linux user #228804)
[email protected] http://www.rastersoft.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlA8f/QACgkQXEZvyfy1ha/zvgCgloBpJR6MxRMINNMXaL9cgYVM
mU8AoIV3hGkdvSybTEXiLRKVR3MsBIco
=spbp
-----END PGP SIGNATURE-----
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list