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. richmondruda /1 16.01.2013 21:33

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

3. generatorglukoff 16.01.2013 21:34

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

4. richmondgeneratorglukoff /3 16.01.2013 21:34

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

5. rudarichmond /2 16.01.2013 21:34 curiosity~

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

6. rudarichmond /4 16.01.2013 21:34 curiosity~

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

7. ulidtko 16.01.2013 21:35

нужен.

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

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

8. richmondulidtko /7 16.01.2013 21:35

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

9. ulidtkoruda /6 16.01.2013 21:35

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

10. ulidtkorichmond /8 16.01.2013 21:36

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

11. richmondulidtko /10 16.01.2013 21:36

ок

12. generatorglukoff 16.01.2013 21:44

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

14. generatorglukoffrichmond /4 16.01.2013 21:45

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

15. generatorglukoffnyalol /13 16.01.2013 21:45

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

16. nyalolgeneratorglukoff /15 16.01.2013 21:46

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

17. richmondgeneratorglukoff /12 16.01.2013 21:47

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

18. richmondnyalol /13 16.01.2013 21:49

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

19. richmondnyalol /16 16.01.2013 21:49

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

20. ulidtkogeneratorglukoff /14 16.01.2013 21:49

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

21. nyalolrichmond /19 16.01.2013 21:50

okay

22. richmondgeneratorglukoff /14 16.01.2013 21:50

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

23. ulidtkogeneratorglukoff /12 16.01.2013 21:50

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

24. generatorglukoffrichmond /17 16.01.2013 21:51

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

25. ulidtkogeneratorglukoff /24 16.01.2013 21:52

> cppreference.com

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

26. generatorglukoffulidtko /23 16.01.2013 21:53

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

27. ulidtkogeneratorglukoff /26 16.01.2013 21:54

> no plan for supporting C99

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

28. richmondgeneratorglukoff /26 16.01.2013 21:56

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

29. DZhonrichmond /28 17.01.2013 03:58

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

30. DZhonulidtko /7 17.01.2013 04:02

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

31. DZhonruda /1 17.01.2013 04:04

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

32. DZhonDZhon /29 17.01.2013 04:07

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

33. hirthwork 17.01.2013 04:55

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

34. 238328hirthwork /33 17.01.2013 04:56

двачаю

35. DZhonhirthwork /33 17.01.2013 04:58

Шаришь

36. hirthworkDZhon /35 17.01.2013 05:00 mcabber

37. DZhonhirthwork /36 17.01.2013 05:01 Miranda

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

Do you really want to delete ?