richmond 16.01.2013 21:28 Бредовое Бессмысленное

А нужен ли volatile? Помогает ли он?
Взято из http://stackoverflow.com/questions/45579... и http://alenacpp.blogspot.com/2006/04/vol... Мне завтра на собеседование, точно спросят же!

с++, ?
1. ruda 16.01.2013 21:33

АЛЁНА СИ ПЛЮС ПЛЮС

2. richmond → ruda /1 16.01.2013 21:33

у неё охуительная статья

3. generatorglukoff 16.01.2013 21:34

volatile нужен для ведра только

4. richmond → generatorglukoff /3 16.01.2013 21:34

только для андроидов? а чем хоть аргументировать такой ответ?

5. ruda → richmond /2 16.01.2013 21:34 curiosity~

После которой у тебя ещё остались вопросы? :3

6. ruda → richmond /4 16.01.2013 21:34 curiosity~

А он не про ядро говорил?

7. ulidtko 16.01.2013 21:35

нужен.

помогает от чего?
> it is utterly useless for synchronization
для синхронизации не годится абсолютно.

нужен для девайсов, в которых определённые ячейки памяти промаплены на что-нибудь ещё вне процессора (наружные ножки микроконтроллера, DMA, ватевар).

8. richmond → ulidtko /7 16.01.2013 21:35

а если я не пишу драйвера а просто пишу прикладной софт?

9. ulidtko → ruda /6 16.01.2013 21:35

про ядро // багет vannadiz-style // оп, оп-оп, опоп

10. ulidtko → richmond /8 16.01.2013 21:36

тогда по большому счету не нужен.

11. richmond → ulidtko /10 16.01.2013 21:36

ок

12. generatorglukoff 16.01.2013 21:44

лучше скажи что в C++11 есть std::atomic<T>

14. generatorglukoff → richmond /4 16.01.2013 21:45

андроид — это ведроид, а ведро — это ядро

15. generatorglukoff → nyalol /13 16.01.2013 21:45

ты дебил? теги смотреть умеешь? какая жаба нахуй?

16. nyalol → generatorglukoff /15 16.01.2013 21:46

лол а что, есть другие языки?

17. richmond → generatorglukoff /12 16.01.2013 21:47

а чо оно делает?

18. richmond → nyalol /13 16.01.2013 21:49

александреску советовал юзать volatile, на стаковерфлоу говорят что не нужно, вот я и спросил собсно

19. richmond → nyalol /16 16.01.2013 21:49

кто-то соснул

20. ulidtko → generatorglukoff /14 16.01.2013 21:49

охуительная история

21. nyalol → richmond /19 16.01.2013 21:50

okay

22. richmond → generatorglukoff /14 16.01.2013 21:50

я теперь все знаю!

23. ulidtko → generatorglukoff /12 16.01.2013 21:50

чаю этому самцу, with C++11 you're gonna impress people

24. generatorglukoff → richmond /17 16.01.2013 21:51

атомарные операции над типом, переменная будет всегда находится в валидном состоянии при чтении/записи
http://en.cppreference.com/w/cpp/atomic/...

25. ulidtko → generatorglukoff /24 16.01.2013 21:52

> cppreference.com

ну ваще красавчик.

26. generatorglukoff → ulidtko /23 16.01.2013 21:53

а еще можно сказать что MSVC почти нихуя не умеет C99, и что там, например, нет snprintf ( http://stackoverflow.com/questions/29156... // ДНИЩЕ ЕБАНОЕ!)

27. ulidtko → generatorglukoff /26 16.01.2013 21:54

> no plan for supporting C99

ппц они вконец охуели пидары

28. richmond → generatorglukoff /26 16.01.2013 21:56

#if _MSC_VER
#define snprintf _snprintf
#endif
я такое и юзал у себя как-то

29. DZhon → richmond /28 17.01.2013 03:58

На стеке мне массив с рантаймовым размером поюзай ;]

30. DZhon → ulidtko /7 17.01.2013 04:02

Да не в ножках даже дело. На МК часто делают (хотя это и пиздец, сейчас есть почти всегда аппаратные таймеры) циклы для задержек, что-то вроде:
for (int i = 0; i < kLoopTime; ++i) {}
В идеале надо объявлять i с квалификатором volatile, чтобы умный канпелятор не соптимизировал эту строку в священное ничто.

31. DZhon → ruda /1 17.01.2013 04:04

Алёна доставляет, не обижай её.

32. DZhon → DZhon /29 17.01.2013 04:07

alloca не считается, obv

33. hirthwork 17.01.2013 04:55

Советую юзать джаву:
1. Там volatile полезен
2. Джавистам в среднем платят больше

34. 238328 → hirthwork /33 17.01.2013 04:56

двачаю

35. DZhon → hirthwork /33 17.01.2013 04:58

Шаришь

36. hirthwork → DZhon /35 17.01.2013 05:00 mcabber

37. DZhon → hirthwork /36 17.01.2013 05:01 Miranda

Даже тут плюсы соснули

Do you really want to delete ?