Программирование для начинающих |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Программирование для начинающих |
Mart1337 |
17.12.2014, 12:17
Сообщение
|
|
4+1=5
|
Поблагодарили 1 раз
|
|
FeNix41 |
17.12.2014, 12:21
Сообщение
|
Mart1337, понял :)
Математики в недоумении :)
Отредактировал: FeNix41, - 17.12.2014, 12:21
|
|
|
|
FeNix41 |
17.12.2014, 13:06
Сообщение
|
А второй части нету?
|
|
|
|
Dukkhaz0r |
17.12.2014, 14:46
Сообщение
|
|
Ты перезаписываешь переменную, все просто.
Если переменная была бы static, можно было бы еще напрячься:-) |
|
|
mertka4 |
20.1.2015, 14:36
Сообщение
|
|
ребят подскажите что за беда, есть исходник .sma когда его например компилирую локально под названием test.sma он компилируется без проблем, а когда компилирую под названием test1.sma с точно таким же кодом то он не компилируется, выдает ошибку в 1 строке хотя там нет никакой ошибки. что такое?
Интернет - как жизнь, смысла нет, а уходить не хочется..
|
|
|
Bloo |
20.1.2015, 14:38
Сообщение
|
|
mertka4, может просто test1.sma сохраняешь в UTF-8 с BOM? Ошибку бы увидеть.
|
Поблагодарили 1 раз
|
|
mertka4 |
20.1.2015, 14:44
Сообщение
|
|
Bloo, кодировка точно такая же UTF-8 без BOM
Скрин Интернет - как жизнь, смысла нет, а уходить не хочется..
|
|
|
Bloo |
20.1.2015, 14:45
Сообщение
|
|
mertka4, кинь оба файла
|
Поблагодарили 1 раз
|
|
mertka4 |
20.1.2015, 14:49
Сообщение
|
|
Bloo, скинул в ЛС
Интернет - как жизнь, смысла нет, а уходить не хочется..
|
|
|
adva |
15.4.2015, 19:54
Сообщение
|
|
Код:
{ ребят тут есть ошибка? |
|
|
Stimul1 |
15.4.2015, 20:37
Сообщение
|
|
adva, ошибки нет, но можно сделать так:
Код: arrayset(g_iDamage/*Название массива*/, false/*Устанавливаемое значение, в данном случае 0*/, 33/*Размер ячейки*/); |
|
|
Sanlerus |
15.4.2015, 20:43
Сообщение
|
|
adva, ошибки нет, но можно сделать так: Код: arrayset(g_iDamage/*Название массива*/, false/*Устанавливаемое значение, в данном случае 0*/, 33/*Размер ячейки*/); Два цикла вместо одного? Да вы мастер оптимизаций) *Размер ячейки*/ Мб размер массива? |
|
|
Stimul1 |
15.4.2015, 20:54
Сообщение
|
|
Sanlerus, ну так 2 цикла на С.
Ага, массива. |
|
|
Sanlerus |
15.4.2015, 21:04
Сообщение
|
|
|
|
|
[WPMG]PRoSToTeM@ |
15.4.2015, 21:16
Сообщение
|
Можно и так:
Код: #emit CONST.ALT g_iDamage |
|
Поблагодарили 3 раз
|
|
[WPMG]PRoSToTeM@ |
15.4.2015, 21:27
Сообщение
|
Замерил кстати по скорости выполнения:
Код AmxAsm 22 (FILL)
Native 43 (arrayset) Code 348 (for) |
|
Поблагодарили 2 раз
|
|
Sanlerus |
15.4.2015, 21:45
Сообщение
|
|
Код:
static cell AMX_NATIVE_CALL arrayset(AMX *amx, cell *params) Да быть не может чтобы эта хрень меньше жрала. |
|
|
Radius |
15.4.2015, 21:56
Сообщение
|
Еще как может, в Вашем случае попадаем в !value и идет вызов memset, а это быстрее чем 32 разрядный виртуальный код. Если бы разницы не было, то и функции бы не существовало. Чем больше элементов в массиве, тем больше будет выигрыш.
Сразу ответ на предполагаемый вопрос почему memset быстрее: Потому что там используются всякие ухищрения групповых ассемблерных операций.
Отредактировал: Radius, - 15.4.2015, 22:03
|
|
|
|
csnet |
15.4.2015, 22:12
Сообщение
|
Ну как это не может, вы же в коде цикл делаете, а модульные функции в десяток раз шустрее. Вот и выходит что цикл по игрокам медленнее чем вызов get_players к примеру
go v cs:go
|
|
|
|
Sanlerus |
15.4.2015, 22:12
Сообщение
|
|
Еще как может, в Вашем случае попадаем в !value и идет вызов memset, а это быстрее чем 32 разрядный виртуальный код. Если бы разницы не было, то и функции бы не существовало. Чем больше элементов в массиве, тем больше будет выигрыш. Сразу ответ на предполагаемый вопрос почему memset быстрее: Потому что там используются всякие ухищрения групповых ассемблерных операций. Это понятно, что на счёт обычного цикла который там. |
|
|