Здравствуйте! Очень интересует такой вопрос, можно ли использовать Asm + Lua без посредников в виде COM ?(действительно ли технология COM так сложна ?) Имееются ли другие способы вызова каждой функции скриптового языка в асме отличные от: Code (Text): import custom,\ ByName,'FunctionName' P.S. использую Fasm, OpenGL, очень хочется подрубить Lua или другой скриптовый язык. Заранее благодарю! Хочется получить ответ, так как полюбил asm и не хочу уже расставаться с ним. =*
а как это возможно реализовать ? Там же библиотеки импорта для высокоуровневых языков заточены поддержки ассемблера нет, как асм подцепит их ? Просьба не пинать(
Shukuchi не знаю как кто, но я очевидные вещи не объясняю. ТАк что читай основы. И вообще асм тебе не нужен поверь, переходи на си.
ну вот "хороший" ответ в рубрике для новичков "переходи на с" =\ . Возник вопрос так сразу на корню рубите. Не сталкивался с этим в "основах", прочитал Калашникова(хотя он под 16 бит), Уроки Iczelion'а, ещё книжки. Нигде не нашёл про связку асма и какого нибудь другого языка. Если это есть в "основах" я наверно плохо искал. Наверно разгадка где-то близко и через библиотеки импорта. Но что то я как гномы из изветсного мультика. Хотел получить ответ хотя бы ввида: 1. Берёшь библиотеку из дистрибутива. 2. Достаёшь описание функций (каким образом асм узнает по какому адресу искать функцию "lea" ?) 3. ????? 4. Вызываешь в асме invoke, stdcall-ом, макросом? передаёшь параметры в стек и работаешь.
а что асм связывать с луа? особенно если хватает стандартного С апи единственно что не забываем, что С имена манглит (в зависимости от компилятора. мсвс перед именем добавляет "_") ну и в каком формате представляются числа. этот формат задается в конфиг-хидере перед компиляцией ну а далее читаем мануал к луа и вызываем пуш парН ... пуш пар2 пуш Л салл луа_апифуу адд есп,4*Н стиль работы через С апи с виртуальной машиной - стандартный, стековый. вроде форта вот и все, в принципе. ничего сложного. если вам понадобятся возможности луа не присутствующие и не реализуемые стандартным апи.. вот тут и могут быть проблемы. иногда у начинающих, а иногда и движок надо до/переписывать
SPA так и С не нужен. можно использовать и пас и С++ и другие ланги. вопрос в причине перехода - необходимость побыстрее сдать халтурку или разобраться как оно работает/выжать из кода-проца. оба варианта присутствуют на всех уровнях умений (при условии дальнейшего движения вперед. тс личный прогресс, а не соседский с полудемагогическим "общечеловеческим")
Как писавший связку луа+си скажу что использовать здесь асм это 1. Нерационально 2. Очень тяжело Так что маловероятно тс когда-нибудь допишет свое детище.
SPA как писавший связки луа с С, С++, масмом и фасмом и до/частично переписывавший сам луа, скажу дергать луа из асма и наоборот, используя стандартное луа-С апи не просто, а элементарно. и ничем кроме коррекций стека (с-калл конвенция) не отличается от вынь-апи (подробнее в #6). если не верите - экзампловый проект имени меня посмотрите. он как раз написан на смеси всего, включая луа, масм и фасм. ядро и граф либа там целиком и полностью на асме, те все сторонние либы так или иначе дергаются из него
_basmp_ ну вам может и элементарно, а мне не доставляет. Или там ктото все структуры уже прописал? все таки раз апи для си мне как то удобней на нем и писать, а так с вами не поспоришь там обычное сишное апи вызывай из чего хочешь.
_basmp_ да, про #6 ну простейшие примеры можно и на асме писать.... С усложнением программы мне уже как бы абстракции повыше хочеться. PS давайте уже завяжем с этим холиваром, он меня утоми ;(
SPA да при чем тут холивар? я ж не говорю - долой С, С++ и прочее. я и сам ими пользуюсь когда надо. просто вопрос был про асм. так зачем сразу советовать переходить на мл, схему, дельфу и прочее? насчет простейшести. я пример привел. он простейший? тут скорее отношение сложности требований проги к возможностям проггера. вы уж извините меня, возможно таки да, задел меня вольфовый холивар против асма с кличем "ничего сложнее хеловорда на асме написать невозможно!". опять отмечу - я не против ни С, ни С++. и не пишу постоянно и все на асме. например счас у меня в проекте задействовано 5 - 6 языков, считая С и С++ за разные. я против криков и реклам святых граалей и философских камней. и стремления решать/называть простейшие вещи максимально доступным по вычурности способом. почти всегда практически не понимая его механизма и придумывая всякие детские оправдания этому
_basmp_ я советую от себя переходить на си. Мое имхо он с асмом только намучается. го стрелка пирса шучу. Давайте завязывать! это точно оправдано? 0_о
SPA ага. причем впоследствии надо будет добавить еще один, тк примененные уже не вытягивают один участок требований, а советы купить кластер поновее и подороже сильно сомневаюсь, что прокатят. + там надо будет сделать некоторые модификации в самом языке.. вобщем, зачем вам мои проблемы?
_basmp_ Вот поэтому!), Спасибо вам!) а ещё прочитавши холивары здесь на форуме и статью про деструктивный маркетинг дяди Билли. Мне важен личный прогресс именно поэтому хочу писать на асме. Пошёл разбираться дальше) Встретил на форуме колибриос "главный недостаток ассемблера - недостаточное количество ассемблерщиков." Спасибо. _basmp_ Вам особая благодарность!)