Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
-18 / 0 / 0
Регистрация: 27.09.2014
Сообщений: 27
1
.NET 4.x

Требуется winapi функция memset, но после её импорта и использования программа прекращает работу

27.03.2015, 14:59. Показов 1780. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, требуется winapi функция memset, но после её импорта и использования программа прекращает работу.
Существуют ли аналоги Memset с параметрами как у него?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2015, 14:59
Ответы с готовыми решениями:

Программа прекращает работу после первого значения <Y>
Программа прекращает работу после первого значения &lt;Y&gt;, игнорируя условия цикла. #define...

Программа, во время выполнения, после ввода, прекращает работу
Проблема такая: Предисловие... Недавно я уже обращался сюда на форум из-за того, что с функцией...

[Символьная строка] После ввода количества символов в символьной строке, программа прекращает работу
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;locale&gt; int main() {...

Программа просто прекращает работу
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #define SIZE 10 int main() { int count = {0}; int...

4
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
27.03.2015, 18:16 2
Здравствуйте.

Покажите импорт и как используете.
0
-18 / 0 / 0
Регистрация: 27.09.2014
Сообщений: 27
27.03.2015, 18:29  [ТС] 3
Импорт:
C#
1
2
[DllImport("msvcrt.dll", EntryPoint = "memset", CallingConvention = CallingConvention.Cdecl, SetLastError = false)]
public static extern IntPtr MemSet(IntPtr dest, int c, int count);
Использование:
C#
1
MemSet(0x53EA88,144,6);
Нужна мне она, т.к. перевожу с CLEO на шарп, а там она используется так:
Код
0C11: memset destination 0x53EA88 value 144 size 6
0
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
28.03.2015, 05:20 4
Использование неправильное. Никто не даст Вам обращаться к произвольному адресу памяти. Нужно создавать объект и передавать в функцию его адрес. Причём, объект должен быть pinned, чтобы GC не перенёс его на другое место во время сборки мусора.

Но зачем все эти сложности? memset заполняет память заданным значением. Это вполне можно сделать средствами c# (создать массив и заполнить его заданными значениями).
0
-18 / 0 / 0
Регистрация: 27.09.2014
Сообщений: 27
28.03.2015, 05:26  [ТС] 5
Благодарю!
0
28.03.2015, 05:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2015, 05:26
Помогаю со студенческими работами здесь

Программа подсчитывает сумму положительных чисел. Если в массиве находится 3 нуля, то программа прекращает свою работу
Решите эту задачу, пожалуйста.

Программа без причин прекращает работу
Здравствуйте! Я написал программу на Visual Studio C++ 2008. При работе в ОС Windows она без...

WINDOWS7 прекращает работу большинства программа
Браузеры работают, а программы типа steam,skype и даже windows life photo gallery не работают....

Браузер Опера прекращает работу после открытия
Здравствуйте! Недавно возникла проблема с браузером: всегда пользуюсь Оперой, но она стала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru