HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #841  
Старый 13.04.2016, 14:31
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Решил создать .asi плагин. В DllMain в DLL_PROCESS_ATTACH создал поток и в главной функции этого потока написал самое простое, логирование строки "loop", но когда увидел лог, охуел. 155 mb за минуту работы плагина. Понятно, что с такой скоростью игра зависнет, если я буду добавлять функции. Как это решить, юзать Sleep(1); ?

C++:





Код:
void
Loop
(
LPVOID pArg
)
{
while
(
bThreadStatus
)
{
Log
(
"Loop"
)
;
}
_endthread
(
)
;
}
 
Ответить с цитированием

  #842  
Старый 13.04.2016, 15:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Не зависнет. И надо юзать таймеры, а не слипы.
 
Ответить с цитированием

  #843  
Старый 13.04.2016, 20:01
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Цитата:
Сообщение от Dark_Knight  

Не зависнет. И надо юзать таймеры, а не слипы.
Понял. Но появилась другая проблемка. Создал пустой проект, добавил DllMain, но появилась ошибка entry point must be defined. В настройках тип конфигурации dll, исходное расширение .asi. Искал в интернете, не нашёл ничего.

P.S. Где подчеркнуто, писал /ENTRY: DllMain, тоже не помогло.

Цитата:
Сообщение от Спойлер  




 
Ответить с цитированием

  #844  
Старый 13.04.2016, 20:15
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

 
Ответить с цитированием

  #845  
Старый 13.04.2016, 20:24
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Цитата:
Сообщение от Dark_Knight  
Там у него консольное приложение, где точка в хода main(). А мне нужно dll приложение, где роль точки входа отыгрывает DllMain, которая у меня есть, но компилить не хочет.
 
Ответить с цитированием

  #846  
Старый 13.04.2016, 23:52
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от AWRage  

Там у него консольное приложение, где точка в хода main(). А мне нужно dll приложение, где роль точки входа отыгрывает DllMain, которая у меня есть, но компилить не хочет.
в свойствах проекта выбери тип динамической библиотеки

Цитата:
Сообщение от AWRage  

_endthread();
он используется как return в void функциях, и в конце не обязателен
 
Ответить с цитированием

  #847  
Старый 14.04.2016, 15:35
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Цитата:
Сообщение от SR_team  

в свойствах проекта выбери тип динамической библиотеки
Я компилил конфигурацией Debug, а настраивал конфигурацию Release.idrila:
 
Ответить с цитированием

  #848  
Старый 14.04.2016, 15:55
AWRage
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами: 5706781

Репутация: 43


По умолчанию

Как проверить, что игра загрузилась не используя GAME_API и SF_API?
 
Ответить с цитированием

  #849  
Старый 14.04.2016, 16:56
CarLCas
Участник форума
Регистрация: 12.07.2013
Сообщений: 161
С нами: 6755146

Репутация: 78
По умолчанию

Цитата:
Сообщение от AWRage  

Как проверить, что игра загрузилась не используя GAME_API и SF_API?
if (*(DWORD*)0xB6F5F0>0)
 
Ответить с цитированием

  #850  
Старый 14.04.2016, 17:31
NarutoUA
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами: 6822856

Репутация: 213


По умолчанию

*(DWORD*)0xC8D4C0 == 7;
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.