![](https://koreanrandom.com/forum/uploads/set_resources_6/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Pavel3333
-
Posts
3,713 -
Joined
-
Last visited
-
Days Won
35
Posts posted by Pavel3333
-
-
Стоит ли проверять успешность выполнения функций, подобных PyString_FromStringAndSize?
В каких случаях они могут вернуть NULL? -
Edited by Pavel3333
deldel
-
1
-
-
16 часов назад, SkepticalFox сказал:
этож хром
не совсем, браузер на основе платформы Chromium
-
Edited by Pavel3333
deldel
-
-
Edited by Pavel3333
-
@night_dragon_on перфекционист и я, только в коде :)
а JSON мне более красив, когда упакован как
json.dumps(dict_, sort_keys=True, indent=4)
, а перед и после ':' стоит по 1 пробелу
-
15 часов назад, night_dragon_on сказал:
добавляется пробел перед двоеточием:
Одинхрен это ни на что не влияет. JSON он и в Африке JSON, хоть с пробелами, хоть без.
-
@GPCracker я так и делаю, если объект заюзан и не нужен - уничтожаю его. Но args, передаваемые моей функции - не уничтожаю. В этом и утечка. Притом в доках args'ы не декрефаются.
-
1
-
-
6 минут назад, GPCracker сказал:
Единственный вопрос, который пока еще остается открытым, это когда наш уважаемый Павел таки освоит основы использования поисковика, научится читать в оригинале и перестанет задавать бородатые вопросы?
Ответ очевиден - когда стану таким же бородатым, как и мои вопросы.
-
1
-
-
@Lost в моём понимании самый лучший чит - сделать так, чтобы игра на дедушкином компьютере 80-х годов давала FPS over 9000. В игре есть некоторые прорехи на уровне архитектуры,которые вполне можно устранить ручками. Вот это реально классно будет, когда у твоего противника игра лагает при FPS 20, а у тебя FPS при той же конфигурации под 200.
-
4 часа назад, SkepticalFox сказал:
Return value: Borrowed reference.
Вот тут всё верно, тут утечек нет.
4 часа назад, SkepticalFox сказал:семантикой перемещения)))
поясни :)
По сути надо документировать аргументы, передаваемые конкретной CPython-функции, и смотреть, какие из них можно декрефать, а какие нельзя ни в коем случае. Если передаются всяческие переменные - декрефать можно, а в случае, если функции переданы классы, модули, функции, атрибуты, константы - это фиаско.
-
1
-
-
18 минут назад, Lost сказал:
я не понимаю к чему весь этот вайн
А тут и понимать нечего, ТС высосал тему из пальца того водомеса, которого преданно наслушался.
-
1
-
-
Edited by Pavel3333
@Mixaill, Вы приводили листинг кода вызова моделей некоторое время назад:
Я обнаружил
в немв своих функциях утечку памяти (а соответствии со вторым ответом тут) после того, как были отпарсены аргументы. Возник вопрос - в экспортируемых функциях нужно делать Py_DECREF(args) после того, как отпарсили tuple аргументов?-
1
-
-
-
@Mixaill спасибо, теперь всё собралось.
-
Edited by Pavel3333
@Mixaill спасибо, файл конфига скомпилился, уже отлично. Компилятор голосит лишь про две функции:
VehicleGunRotator.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_Subtract т ЇєэъЎшш ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_18setShotPosition [C:\WoTPython\VehicleGunRotator.vcxproj] VehicleGunRotator.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_InPlaceSubtract т ЇєэъЎшш ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_6stop [C:\WoTPython\VehicleGunRotator.vcxproj]
Account.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_Subtract т ЇєэъЎшш ___pyx_pf_7Account_13PlayerAccount_293__synchronizeEventNotifications [C:\WoTPython\Account.vcxproj] Account.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_InPlaceSubtract т ЇєэъЎшш ___pyx_pf_7Account_13PlayerAccount___init__ [C:\WoTPython\Account.vcxproj]
Сейчас буду копаться в Иде, самому интересно получать сигны.
-
Только что, Lost сказал:
калорифер
да я играю, греется не больше проца.
-
@SkepticalFox огромное спасибо, очень полезно!
-
Edited by Pavel3333
@SkepticalFox а смещения откуда берутся? с начала exe'шника или с точки входа танковой python27.lib?
-
19 часов назад, Lost сказал:
9800 печи
разве 9800 GT - это печка?
-
Edited by Pavel333345 минут назад, StranikS_Scan сказал:
Он сидит на мамкиной шее
Я постоянно наблюдаю такую картину, когда борцы с чичерами по весне начинают лезть в драку с девятиклассниками, хотя последние на 3-4 года старше борцов с чичерами. Борцы с чичерами очень забавно отлетают в сторону. И кстати, это бывает ближе к весне. А вот у нашего борца как раз весеннее обострение. Ищет патруль таких же борцов с чичерами, чтобы надавать зловредам-девятиклашкам.
-
1
-
-
Edited by Pavel3333
@Mixaill СКОМПИЛИЛОСЬ!!!
Спасибо!!!
@Mixaill,При отчаянной попытке выполнить
i += 2
или же
i = 0 i.__add__(2)
ловлю подобное исключение:
test_.obj : error LNK2019: <...> __imp__PyNumber_Add <...> ___Pyx_PyInt_AddObjC [C:\WoTPython\test_.vcxproj] test_.obj : error LNK2019: <...> __imp__PyNumber_InPlaceAdd <...> ___Pyx_PyInt_AddObjC [C:\WoTPython\test_.vcxproj] C:\WoTPython\Release\test_.pyd : fatal error LNK1120: <...>: 2 [C:\WoTPython\test_.vcxproj]
__imp__PyNumber_Add не нашелся
И вопрос.Можете вкратце написать, как найти смещение сигнатуры в танковом питоне?
Вот еще, получил при компиляции скрипта, который сильно нагружен в игре:
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyUnicodeUCS2_Compare в функции ___Pyx_ParseOptionalKeywords 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Add в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_58__syncWithServerTurretYaw 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Subtract в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_18setShotPosition 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Multiply в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_42__calcAngleBetweenShotPointAndMarker 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Divide в функции ___Pyx_PyFloat_DivideObjC 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Remainder в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_58__syncWithServerTurretYaw 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Negative в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_22getShotParams 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Absolute в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_42__calcAngleBetweenShotPointAndMarker 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceAdd в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_20predictLockedTargetShotPoint 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceSubtract в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_6stop 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceMultiply в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_68getNextGunPitch 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceDivide в функции ___Pyx_PyFloat_DivideObjC 2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceOr в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_82__getGunPitchLimits
По сути в XFW нет большой части по работе с числами и нет 1 функции по работе со строкой.
Далее уже идут менее нагруженные скрипты. Повторяющиеся символы удалены.
1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PySet_New в функции ___pyx_pf_7Account_13PlayerAccount_293__synchronizeEventNotifications 1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Index в функции ___Pyx_PyObject_GetIndex 1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Int в функции ___pyx_pf_7Account_13PlayerAccount_112requestPrebattles
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Lshift в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_13isBitSet 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Rshift в функции ___Pyx_PyInt_RshiftObjC 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_And в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_9hasAllBitsSet 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Xor в функции ___pyx_gb_7sources_8__init___13BitmaskHelper_23generator2 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceRshift в функции ___Pyx_PyInt_RshiftObjC 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceAnd в функции ___Pyx_PyInt_AndObjC 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceXor в функции ___pyx_pf_7sources_8__init___13BitmaskHelper_4remove 1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceOr в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_1add
Ну и чисто мой скрипт конфига.
Config.obj : error LNK2019: <...> __imp__PyUnicodeUCS2_Compare <...> ___Pyx_ParseOptionalKeywords [C:\WoTPython\Config.vcxproj]
5 часов назад, Pavel3333 сказал:И вопрос.
Можете вкратце написать, как найти смещение сигнатуры в танковом питоне?
Еще более конкретно - с какой версии питона Вы черпаете сигнатуры функций и как настроить IDA под тулзу на репозитории?
-
Edited by Pavel3333
Жаль плюсомёт еще вчера закончился :)
Чую, я нашел для Вас новую работёнку...
Стоит ли проверять успех PyString_FromStringAndSize?
in ActionScript & Python
Posted
Строки-константы константной длины