Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|||||||||||
1 | |||||||||||
Очень нужен инлайн ассемблер в шарпе31.12.2009, 12:39. Показов 16228. Ответов 29
Метки нет (Все метки)
Дали мне лабу, в которой нужно сделать инлайн вставку в С++. Ну это элементарно, Ватсон.
Вот нашел я такое: http://www.xakep.ru/magazine/xa/108/118/1.asp
0
|
31.12.2009, 12:39 | |
Ответы с готовыми решениями:
29
перевод паскаля в ассемблер. очень нужен Нужен очень простой и очень содержательный мануал по взаимодействию приложений, написанных на VB 6.0 Нужен очень очень хитрый запрос Select Очень нужен совет! |
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
31.12.2009, 12:53 [ТС] | 2 |
Вот проект ConsoleApplication4.rar
Приветствуются любые идеи. В этом журнале почти все написано, просто я не могу толком реализовать.
0
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
31.12.2009, 14:12 [ТС] | 3 |
Неужели никто ничего не знает?
0
|
1144 / 853 / 262
Регистрация: 30.04.2009
Сообщений: 3,581
|
|
31.12.2009, 14:30 | 4 |
Мне самому эта тема очень интересна. Попробую сделать, когда будет время.
Но в описанном способе используется DLL библиотека.
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||
31.12.2009, 15:15 [ТС] | 5 | |||||
nicolas2008, нет.
В этом коде они выполняют последовательность команд записанную тут byte[] asm = new byte[] { 0x89, 0x04, 0x24, // mov dword ptr[esp], eax 0xB8, 0x00, 0x00, 0, 0, // mov eax, 777h 0xC3 // ret }; первая команда возвращает управление от вызвавшей её процедуры CallAssembler к основной программе. Вторая - видимо пример использования аналога асмовской команды. Вот мне нужно написать код это с помощью таких команд Тема еще обсуждается здесь http://www.rsdn.ru/forum/dotnet/943060.all.aspx Как бы написать команды асма на шарпе и ему скормить не выйдет, из-за .net. Но у них есть зато MSIL. И еще вот это извращение с использованием не самих асмовских команд, а их машинного представления.
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
31.12.2009, 16:03 | 6 |
Поиграться с шарпом я не могу, а сам-то асм код выполняется ?
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
31.12.2009, 16:12 [ТС] | 7 |
Да. Но коряво. Щас я скину длл и шарповский проект. Там нужен деф файл. Оно код выполняет, но после отого не модет найти точку возврата
0
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
31.12.2009, 16:36 [ТС] | 8 |
Вообщем вот что вышло WindowsFormsApplication14.rar
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|
31.12.2009, 16:56 | 9 |
А почему в def файле ф-ция завется TestFunction, хотя в асм коде есть только TestProc ?
Если честно, то я все-таки не понял причем тут длл, если нужно обходится без нее ? А насчет кода, который из журнала, может быть нужно самому глянуть
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
31.12.2009, 17:18 [ТС] | 10 |
09
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|||||||||||
31.12.2009, 17:29 | 11 | ||||||||||
довольно сильно смущает строчка
Код
00000006 sub esp,7Ch sceleton.asm
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||
31.12.2009, 17:40 [ТС] | 12 | |||||
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
|||||||||||
31.12.2009, 17:44 | 13 | ||||||||||
деректива
Перенесите в конец
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||
31.12.2009, 17:47 [ТС] | 14 | |||||
Я понял этот косяк) Спасибо. Все равно не находит точку входа. В том примере, что был до этого, он работал. Но с глюками. Но точку входа находил
Добавлено через 1 минуту Может тут поменять EnteryPoint?
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||||||
31.12.2009, 18:01 | 15 | |||||
В том примере кроме этой точки ничего и небыло....
Попробуйте "DllEntryPoint" А нельзя просто написать ?
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||||||||||||
31.12.2009, 18:30 [ТС] | 16 | |||||||||||||||
Вот такое
Вот я упростил сколько мог. Оно работает, но с ошибкой "Попытка выполнения управляемого кода ..."
Непойму, что здесь имеется в виду.
0
|
101 / 101 / 19
Регистрация: 29.12.2009
Сообщений: 204
|
|
31.12.2009, 18:37 | 17 |
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
||||||||||||||||
31.12.2009, 20:19 [ТС] | 18 | |||||||||||||||
Возможно. Только вот такой вопрос: кто знает как можно передать данные из библиотеки в программу и из программы в библиотеку?
Добавлено через 2 минуты Та ошибка возникает, когда пытаешься возпользоваться функцией Windows прямо из библиотеки. Если там вместо
Добавлено через 30 минут Вот скажем такая dll
0
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
|
|
01.01.2010, 20:53 [ТС] | 19 |
Вобщем все у меня с библиотеками заработало. Скоро выложу пример. Ничего не вылетает, все супер. Вот вопрос: как мне передать в библиотеку не переменную а строку? Ну или указатель на неё? (Имя файла для обработки)
0
|
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
|
||||||
01.01.2010, 21:45 | 20 | |||||
Где-то при объявлении ф-ции в шарпе указывается, что она stdcall, т.е. параметры будут передаваться через стек. А в асме что-то вроде
1
|
01.01.2010, 21:45 | |
01.01.2010, 21:45 | |
Помогаю со студенческими работами здесь
20
Очень нужен парсинг! Очень нужен совет!!! 1C 7.7. очень нужен совет Очень нужен файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |