AMX MOD X
Воскресенье, 19.05.2024, 17:34:21



Приветствую Вас Гость | RSS
[ Главная ] [ Компиляция - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Общий раздел » Общая помощь по AMX Mod X » Компиляция
Компиляция
BERKUTДата: Четверг, 11.09.2008, 19:02:41 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 102
Репутация: 2
Статус: Не в сети
Меня давно интересует вопрос, если разница под какой ОС компеливароть плагины?
Например компелирую под windows, а использую под linux.
 
dArkДата: Четверг, 11.09.2008, 20:41:18 | Сообщение # 2
Подполковник
Группа: Cупер-модеры
Сообщений: 126
Репутация: 1
Статус: Не в сети
Нет разницы нету, другое дело что компилятор должен быть переписан под обе платформы. В случае с amxx получается *.sma -> *.amxx, не зависимо от того, где компилируешь.
 
ArgusДата: Пятница, 12.09.2008, 00:02:13 | Сообщение # 3
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
кстати, плагины, по-моему, получается разные.

Правила форума
Поиск плагинов
Последние сообщения форума
 
BERKUTДата: Пятница, 12.09.2008, 11:27:33 | Сообщение # 4
Подполковник
Группа: Пользователи
Сообщений: 102
Репутация: 2
Статус: Не в сети
Ну если смотри биты то они в разных ОС разные, даже если компилить с сайта :)) Поэт и задавал выше вопрос, но если разницы нету, то эт только облегчает дело :)
 
LtRATДата: Пятница, 12.09.2008, 20:50:36 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 1
Статус: Не в сети
АМХХ файлы получаются пакованными, если файл распаковать, то получим 2 кода, под х32 и х64...
стандартный win 1.76d компилятор генерит файл и в конце дополняет его 12 нулями у х64 и 8 нулей у х32 файла...
Как показала моя практика, если кол-во нулей будет другим то упакованный снова плагин спокойно грузится (правда немогу проверить х64 часть, АМХХ возможно не анализирует файл олностью при его загрузке), при этом можно добиться эффекта более сильной упаковки (плагин 15кб упаковался в 11+), а можно наоборот :) В итоге байты АМХХ файла будут другими.
Так же он записывает в файл и сопровождающую информацию, например путь по которому лежал исходник при компиляции... Пути будут явно разные и в итоге байты АМХХ файла будут другими.

Возможно и сам код генерится другой, что врятли, но для проверки этого выложите два файла одного и тогоже плагина (довольно мелкого), скомпилированных компилятором той же версии но разных ОС, и там сравним :)

 
BERKUTДата: Суббота, 13.09.2008, 12:33:32 | Сообщение # 6
Подполковник
Группа: Пользователи
Сообщений: 102
Репутация: 2
Статус: Не в сети
Code
#include <amxmodx>

public plugin_precache()
{
register_plugin("Force Exact Smoke Files", "0.1", "VEN")
force_unmodified(force_exactfile, {0, 0, 0}, {0, 0, 0}, "sprites/gas_puff_01.spr")
force_unmodified(force_exactfile, {0, 0, 0}, {0, 0, 0}, "sprites/smokepuff.spr")
}

Компилил на 1.8.1
win32 = 1014 бит
amxmodx.org = 984 бит
Прикрепления: smoke.amxx (1.0 Kb) · smoke2.amxx (1.0 Kb)


Сообщение отредактировал BERKUT - Суббота, 13.09.2008, 12:34:03
 
LtRATДата: Суббота, 13.09.2008, 17:24:51 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 1
Статус: Не в сети
не стал разбивать каждый АМХХ на оба файла, смысла нет, всеравно одинаковые :)

Если сравнить вложенные файлы, то видно что все изменения (в hex) начинаются с 2C0h, в этом байте находится старшая часть размера секции (в данном случае разница в этом байте в файлах будет задавать разницу размера файлов)
01_34_h - 01_23_h = 11h = 17. Ниже видим, что в win32 было скомпилироваано из "H:\games\Valve\cstrike\addons\amxmodx\scripting\smoke.sma" в amxmodx.org из "/home/groups/amxmodx/tmp3/text9ys6Bj.sma"
если посчитать разность кол-ва символов получим 17.
Вывод: файлы отличаются только отладочной информацией, да и то только путем к sma файлу...

ЗЫ а вообще непонятно зачем в готовом плагне нужен этот путь :)

Прикрепления: smoke.amx32 (1.0 Kb) · smoke2.amx32 (1.0 Kb)


Сообщение отредактировал LtRAT - Суббота, 13.09.2008, 17:25:40
 
BERKUTДата: Суббота, 13.09.2008, 17:41:01 | Сообщение # 8
Подполковник
Группа: Пользователи
Сообщений: 102
Репутация: 2
Статус: Не в сети
гы спс, теперь всё стало на свои места :)
 
ArgusДата: Воскресенье, 14.09.2008, 00:09:46 | Сообщение # 9
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (LtRAT)
а вообще непонятно зачем в готовом плагне нужен этот путь

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


Правила форума
Поиск плагинов
Последние сообщения форума
 
LtRATДата: Воскресенье, 14.09.2008, 00:46:35 | Сообщение # 10
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 1
Статус: Не в сети
Quote (Argus)
угу. если после компиляции плагин переименовать, то при его использовании в некоторых сообщениях на сервере, связанных с работой плагина (возможно, сообщения об ошибках) будет использоватся старое название, которое ему далось сразу при компиляции.

хмм, интересно, такого не замечал - надо будет потестить...

И всетаки спорно насчет полного пути :)

 
AMX Mod X Форум » Общий раздел » Общая помощь по AMX Mod X » Компиляция
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024