purebasic.info

PureBasic forum
Текущее время: Сб дек 15, 2018 7:35 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Скорость циклов
СообщениеДобавлено: Сб фев 17, 2018 12:07 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
Здравствуйте!
У меня тут не-понятки с циклами.
Вот простой код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
For f = 0 To 40000000
Next f
 
Define a=0
;Define b=0
time = GetTickCount_()
For f = 0 To 400000000 Step 4
  qwerty= f
  qwerty= f+1
  qwerty= f+2
  qwerty= f+3
Next f
t1.f =(GetTickCount_() - time) ;/1000
MessageRequester("", " Время работы кода в миллисекундах : " + t1)



Писал статью про оптимизацию циклов (для справки пурика), ну типа, устранение зависимости по данным, деление массивов по объёму кэша, устранение ветвлений и тд. Наткнулся на один феномен...
Дело в том, что при изменении имён переменных (вообще в коде) скорость цикла меняется в разы!!! :shock:
Можно просто добавить объявление переменной в коде выше цикла, или изменить её имя, даже если она в коде кроме объявления больше никак не используется - это повлияет на скорость цикла!!!

Я сначала грешил на Winapi, то есть на функцию GetTickCount_(), ну то есть проверил тупо по секундомеру. Потом грешил на компьютер, (ну думаю AMD, разогнан сильно), но снижение скорости компа никак не сказалось на проблеме, кроме того запустил на ноуте с Хасвелом, там эффект отличается, но он тоже есть.
Потом попробовал создать приложения (exe) и запустил отдельно от пурика - эффект есть...
Можно сэкономить 100 мс извращаясь с кодом, и потерять 500 мс просто поменяв имя переменной или объявив ещё оду... ну это же не честно!!!!!!
Пришёл к выводу, что это компилятор чудит.

Изначально наткнулся на проблему в другом месте. Пытался распараллелить цикл на 4 потока, и там выяснил, что потоки не любят переменные типа Global, максимум по одной на поток, а дальше тормоза, раз в 10 !!!
Вот этот код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
For o = 1 To 40000000 
Next o
Dim a.f(15)
 
 ;Global q
 ;Global w
 ;Global e
 ;Global r
 ;Global t
 ;Global y
 ;Global u
 ;Global i
 
time = GetTickCount_()
a.f(1) = GetTickCount_()
a.f(2) = GetTickCount_()
a.f(3) = GetTickCount_()
a.f(4) = GetTickCount_()
 
Procedure YourProcedure1(*x)
 
For q = 1 To 100
 For w= 0 To 4999999
 Next w
Next q
PokeF(*x,GetTickCount_())
EndProcedure
 
Procedure YourProcedure2(*x)
 
For e = 1 To 100
 For r= 0 To 4999999
 Next r
Next e
PokeF(*x,GetTickCount_())
EndProcedure
 
Procedure YourProcedure3(*x)
 
For t = 1 To 100
 For y= 0 To 4999999
 Next y
Next t
PokeF(*x,GetTickCount_())
EndProcedure
 
Procedure YourProcedure4(*x)
 
For u = 1 To 100
 For i= 0 To 4999999
 Next i
Next u
PokeF(*x,GetTickCount_())
EndProcedure
 
a(10)=GetTickCount_()
 
thread1= CreateThread(@YourProcedure1(), @a(5))
WaitThread(thread1)
 
thread2= CreateThread(@YourProcedure2(), @a(6))
WaitThread(thread2)
 
thread3= CreateThread(@YourProcedure3(), @a(7))
WaitThread(thread3)
 
thread4= CreateThread(@YourProcedure4(), @a(8))
  WaitThread(thread4)
 
 a(1)=a(5)-a(1)
 a(2)=a(6)-a(2)
 a(3)=a(7)-a(3)
 a(4)=a(8)-a(4)
 a(9)=GetTickCount_() - a(10)
 MessageRequester("", " Время работы кода: " + a(1) + "  " + a(2) + "  " + a(3)+ "  "+ a(4) + "  "+ a(9))



Отключите дебагер и попробуйте рас-комментировать по одной переменной Global и посмотрите эффект. Здесь отображаются время работы каждого потока, и 5-е число время после окончания всех потоков. С помощью 5-го значения пытался выяснить "может поток быстро считает, но долго завершается", но нет. Тогда я подумал, что проблема в глобальных переменных...

Я очень надеюсь, что я просто что-то упустил, или как сказал один товарищ "надо во время ложится спать".
Пожалуйста отпишитесь, у кого что получилось. И желательно указать какой процессор и какая Ось стоит. На сколько я понял и на 32-битном компиляторе и на 64-битном эффект присутствует.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Сб фев 17, 2018 2:05 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2294
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Изображение

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Сб фев 17, 2018 2:25 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6413
Благодарил (а): 21 раз.
Поблагодарили: 201 раз.
Пункты репутации: 52
Все переменные включены:

---------------------------
Время работы кода: 896 1792 2816 3712 3701
---------------------------
ОК
---------------------------


Все переменные выключены:

---------------------------
Время работы кода: 896 1920 2816 3712 3758
---------------------------
ОК
---------------------------

Повторял около 5 раз, закономерности от глобальных переменных не выявлено. Intel Core i3-2120, 3300 MHz Win7x64 (PB x86 v.5.60)

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Сб фев 17, 2018 2:27 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
во втором коде у меня так:
Код:
1
2
3
4
5
6
7
8
9
10
11
 
904  1572 2432 3088 3087 - нет global
656  1312 2248 3168 3169 + q
764  1592 2512 3400 3400 + q w
2496 3416 4304 5192 5194 + q w e
760  3244 4132 5100 5099 + q w e r
2580 4976 5896 6820 6818 + q w e r t
2496 4992 5880 6800 6802 + q w e r t y
752  3232 5728 6444 6444 + q w e r t y u
2496 3416 4304 6692 6691 + q w e r t y u i
 



а в первом коде 358мс с закоментированной строкой ;Define b=0, и 874 мс если раскоментировать, а если при этом вместо b поставить h, то будет 250 мс , причём заметно даже на глаз.

Добавлено:

Попробуйте и этот код, почти тоже самое, но эффект более заметен, про раскоментировании последних 3-х переменных:

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
For o = 1 To 40000000
Next o
 Global q
 Global w
 Global e
 Global r
 Global t
 Global y
 Global u
 Global i
 
time = GetTickCount_()
 
Procedure YourProcedure1(x)
 
For q = 1 To 100
  For w= 0 To 4999999
  Next w
Next q
EndProcedure
 
Procedure YourProcedure2(x)
 
For e = 1 To 100
   For r=  0 To 4999999
   Next r
Next e
EndProcedure
 
Procedure YourProcedure3(x)
 
For t = 1 To 100
  For y= 0 To 4999999
  Next y
Next t
EndProcedure
 
Procedure YourProcedure4(x)
 
For u = 1 To 100
  For i= 0 To 4999999
  Next i
Next u
EndProcedure
 
thread1= CreateThread(@YourProcedure1(), 1)
thread2= CreateThread(@YourProcedure2(), 1)
thread1= CreateThread(@YourProcedure3(), 1)
thread2= CreateThread(@YourProcedure4(), 1)
 WaitThread(thread1)
 WaitThread(thread2)
 WaitThread(thread3)
 WaitThread(thread4)
 
; YourProcedure1(1)
; YourProcedure2(1)
; YourProcedure3(1)
; YourProcedure4(1)
 
t1.f =(GetTickCount_() - time);/1000
MessageRequester("", " Время работы кода в миллисекундах : " + t1)



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Сб фев 17, 2018 5:27 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
Я один не понимаю о чём речь?
PB особой оптимизацией конечно не отличается, дай бог на 99% вообще понимает чего от него хотят в исходнике.
И насколько я понимаю речь о windows на десктопе. Какие при этом могут быть замеры в миле секундах?

p.s. я о том, что если есть сомнения в генераторе кода, то смотреть нужно на этот результирующий код а не гадать на "кофейной гуще" миле секундах.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
EnableExplicit ; Если есть желание контролировать процесс генерации кода, то это просто обязательно.
Define a.i = 0
Define b.i = 0
Define time.i
Define f.i
Define qwerty.q
Define t1.i
; Иначе задание компилятору звучит : Ну как то так приблизительно всё должно работать ))))))
 
time = GetTickCount_()
 
For f = 0 To 400000000
  qwerty= f
  qwerty= f+1
  qwerty= f+2
  qwerty= f+3
Next f
 
t1 =(GetTickCount_() - time)
 
MessageRequester("", " Время работы кода в миллисекундах : " + t1)



И дальше смотреть как зависит производительность от Define, Global, Protected or Static


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 5:32 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
Цитата:
И насколько я понимаю речь о windows на десктопе. Какие при этом могут быть замеры в миле секундах?


Да windows 7-64 , на декстопе процессор Phenom ll x6 (1.2-4.0 ггц), и на ноуте процессор Haswell i5 4200H (2.8-3.4 ггц).
Вы имеете ввиду, что в windows так точно не измерить?

В общем, Ваш код
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
EnableExplicit ; Если есть желание контролировать процесс генерации кода, то это просто обязательно.
Define a.i = 0
Define b.i = 0
Define time.i
Define f.i
Define qwerty.q
Define t1.i
; Иначе задание компилятору звучит : Ну как то так приблизительно всё должно работать ))))))
For f = 0 To 400000000 ; добавил для разгона процессора перед тестом, а то вообще всё не стабильно.
Next f
time = GetTickCount_()
 
For f = 0 To 400000000
  qwerty= f
  qwerty= f+1
  qwerty= f+2
  qwerty= f+3
Next f
 
t1 =(GetTickCount_() - time)
 
MessageRequester("", " Время работы кода в миллисекундах : " + t1)


работает стабильно, по крайней мере на intel точно (ни на имена переменных ни их количество не реагирует).
На AMD значительно стабильнее, чем раньше, но минимальный эффект остаётся, ну да бог с ним с amd, допустим у него проблемы... вычёркиваем его.

Далее, если поменять тип переменной t1 на float, то эффект проявляется в полной мере: на Интел скорость цикла зависит от имён переменных... Причем раз за разом запускаю тесты и результат полностью повторяется, то есть определённые имена переменных дают конкретное число мс на выходе. Если это глюк в Оси или процессоре, то уж очень стабильный! Может дело в преобразовании к типу float значения из GetTickCount_() ?

По поводу глобальных переменных в потоках:
У меня код использующий локальные переменные дает 952-960 (на Интел):
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
EnableExplicit
Define o.i
Define thread1, thread2
 
For o = 1 To 400000000 ;разгон
Next o
Dim a.f(15)
 
Procedure YourProcedure1(*x)
Define q
Define w
 
For q = 1 To 100
 For w= 0 To 4999999
 Next w
Next q
PokeF(*x,GetTickCount_())
EndProcedure
 
Procedure YourProcedure2(*x)
Define e
Define r
 
For e = 1 To 100
 For r= 0 To 4999999
 Next r
Next e
PokeF(*x,GetTickCount_())
EndProcedure
 
a.f(1) = GetTickCount_()
a.f(2) = GetTickCount_()
 
thread1= CreateThread(@YourProcedure1(), @a(5))
thread2= CreateThread(@YourProcedure2(), @a(6))
WaitThread(thread1)
WaitThread(thread2)
   
 a(1)=a(5)-a(1)
 a(2)=a(6)-a(2)
 
MessageRequester("", " Время работы кода: " + a(1) + "  " + a(2))


А код использующий глобальные переменные даёт 1350-1400 (на Интел):
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
EnableExplicit
Define o.i
Define thread1, thread2
 
For o = 1 To 400000000 ; разгон
Next o
Dim a.f(15)
 
Global q
Global w
Global e
Global r
 
Procedure YourProcedure1(*x)
 
For q = 1 To 100
 For w= 0 To 4999999
 Next w
Next q
PokeF(*x,GetTickCount_())
EndProcedure
 
Procedure YourProcedure2(*x)
 
For e = 1 To 100
 For r= 0 To 4999999
 Next r
Next e
PokeF(*x,GetTickCount_())
EndProcedure
 
a.f(1) = GetTickCount_()
a.f(2) = GetTickCount_()
 
thread1= CreateThread(@YourProcedure1(), @a(5))
thread2= CreateThread(@YourProcedure2(), @a(6))
WaitThread(thread1)
WaitThread(thread2)
 
 a(1)=a(5)-a(1)
 a(2)=a(6)-a(2)
 
MessageRequester("", " Время работы кода: " + a(1) + "  " + a(2) )


Вероятно тут разногласий не будет...

Без использования потоков, то есть простой вызов процедур, значения соответственно: без глобальных 905/1825 и с глобальными 936/1888, то есть различие не большое, но есть.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 6:20 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
> "если поменять тип переменной t1 на float, то эффект проявляется" !!!!!!!!!!!!!

Добро пожаловать в реальный мир. Сергей , ну вы хоть немного почитайте о архитектуре процессоров, о системе команд.....
Причём в отрыве от широкого распространения x86 (а сегодня ARM фактически не менее распространён) настоятельно рекомендую первый том Д.Кнут "Искусство программирования" с целью детально разобрать хоть пару сотен строк на MIX-ассемблере.

p.s. По поводу float... в реальном мире по прежнему можно встретить процессоры у которых даже нет команд так называемой плавающей арифметики и операции с float проводятся через библиотеки с помощью целочисленной арифметики

p.p.s >Вы имеете ввиду, что в windows так точно не измерить?
Я имею ввиду то что помимо вашего кода, ещё куча всего нужного и не очень дерётся за процессор и что не мало важно память всех уровней....

p.p.p.s Как минимум возьмите на вооружение
-c, --commented, /COMMENTED: creates a commented '.asm' output file when creating an executable. This file can be re-assembled later when the needed modifications have been made. This option is for advanced programmers only.
вы же стремитесь в число advanced programmers. Я честно скажу современным asm x86 я не владею, последний раз за ассемблер мне платили в эпоху 286х, но где то после второго принципиально отличного от предыдущих процессора понимаешь, что детали не важны, важны принципы. Я не такой старый как процессоры с которыми мне повезло столкнуться, например немного первых денег мне заплатили за http://www.computer-museum.ru/histussr/ural11.htm и он у меня был точно не первый ))))


Последний раз редактировалось jobless Вс фев 18, 2018 7:19 am, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 6:46 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 712
Благодарил (а): 75 раз.
Поблагодарили: 21 раз.
Пункты репутации: 5
Сделал всё как ты просил, Не подтверждаю, у меня всё стабильно.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 6:49 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
Цитата:
ну вы хоть немного почитайте о архитектуре процессоров, о системе команд

:) Уважаемый jobless, я понимаю , что есть целочисленные команды и данные, есть с плавающей запятой и так далее. Я это изучал, прочитал наверно книг 100 уже.
Я понимаю, что скорость цикла наверняка зависит от применяемого типа переменной в цикле.
Допускаю, что скорость цикла может зависеть от того, что вообще в коде применяется тип Float, это если например процессор (как было раньше у амд K6) не может одновременно использовать и целочисленные и плавающие (переключается между ними), или например программа при наличии в коде float переключается на другую, более медленную библиотеку, вся целиком, и целочисленные вычисления тоже. Такое тупо, но возможно.
Но я не понимаю, как на скорость цикла могут влиять имена переменных!?, причём только если задать float для переменной t1, вернее переменной в которую записывается результат WinAPI-функции, если рядом объявить другую переменную с таким типом и не использовать её для этой функции - то проблемы нет!

Получается какое то стечение обстоятельств, при котором имена важны (сильно для amd и не очень сильно для intel) только если float + WinAPI-функция :shock:.
Но тогда почему только у меня?

ps:
Попробую Windows переустановить (без обновлений). Н моих компах только эта часть одинаковая, один диск, одни обновления, по одному сценарию... И на каждый отдельно установлю Пурик, а то копирую с одного на другой...

PS2:
Разные варианты Wndows не помогли, за исключением Windows XP, где стало всё относительно стабильно - медленно :(, то есть ~6000 почти всегда, где на 7-ке было 900-5000. Это на AMD, на Интел не попробовал.


Последний раз редактировалось sergey2400 Пн фев 19, 2018 6:24 am, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 7:07 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
конспирология )))
Ещё раз... ( я завидую энтузиазму, серьёзно) если хочется разобраться, смотрим во что превращается код в асме, берём таблицу команд процессора считаем такты и т.д. и т.п. мне последний раз с такими табличками и калькулятором в руках на рубеже 80х-90х приходилось сидеть когда писюк к селекторному каналу мэйнфрейма присабачивали )))


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 12:43 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2294
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Цитата:
По поводу глобальных переменных в потоках:
У меня код использующий локальные переменные дает 952-960 (на Интел):

Цитата:
А код использующий глобальные переменные даёт 1350-1400 (на Интел):

Подтверждаю (по три запуска):
Изображение

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 3:51 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2294
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Попробуйте скомпилить это в PB:
Код:
1
Define xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.i


Появится сообщение про лимит в 128 символов.
Но после него PB не будет компилировать ни один проект, даже простой Debug "OK" например :).

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 4:02 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
Цитата:
Появится сообщение про лимит в 128 символов.
Но после него PB не будет компилировать ни один проект, даже простой Debug "OK" например :).

У меня после компилирует Debug "OK", без перезагрузки, и 5.44, и 5.60, 32 и 64 версии.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 11:28 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 273
Благодарил (а): 14 раз.
Поблагодарили: 32 раз.
Пункты репутации: 0
qpAHToMAS писал(а):
Появится сообщение про лимит в 128 символов.
А у меня - "Поле в 'Structure' нуждается в явно объявленном типе." :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Скорость циклов
СообщениеДобавлено: Вс фев 18, 2018 11:53 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вт янв 26, 2016 4:44 pm
Сообщений: 145
Благодарил (а): 50 раз.
Поблагодарили: 19 раз.
Пункты репутации: 0
Цитата:
А у меня - "Поле в 'Structure' нуждается в явно объявленном типе." :)

У меня тоже так на 32-битном компиляторе.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB