Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 7

Перевод кода с C++ на C#

06.08.2015, 10:54. Показов 767. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток
Вот пытаюсь переписать библиотеку написанную на С++ на C#
Вроде все более менее понятно, кроме этой строки:
C++
1
#define N2L(C, LL) LL  = ((unsigned int)(*((C)++))) << 24, LL |= ((unsigned int)(*((C)++))) << 16, LL |= ((unsigned int)(*((C)++))) << 8, LL |= ((unsigned int)(*((C)++)))
А именно непонятно что делает этот код:
C++
1
(*((C)++))
Может кто нибудь разъяснить?
Заранее Спасибо)
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
 void LoginCrypt::Init( unsigned char * lseed, unsigned int k1, unsigned int k2 )
     {
      unsigned int seed;
      N2L( lseed, seed );
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.08.2015, 10:54
Ответы с готовыми решениями:

Перевод кода с Паскаля (перевод в метры)
var a,b,d:integer; c,e:real; begin writeln('1-дециметр 2-километр'); writeln('3-метр 4-миллиметр'); ...

перевод кода с C# на C++
помогите перевести код с си-шаспа на си++ using System; public class Test { public static int Fact( int n ) { ...

Перевод кода с Си
Помогите перевести #include ”stdafx.h” #include ”iostream” #include “locale” using namespace std; int _tmain(int argc,...

5
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
06.08.2015, 11:09
Короче макрос из буфера считывает четырехбайтовое целое число.
C++
1
2
3
4
5
#define N2L(C, LL)
 LL  = ((unsigned int)(*((C)++))) << 24,
 LL |= ((unsigned int)(*((C)++))) << 16,
 LL |= ((unsigned int)(*((C)++))) << 8,
 LL |= ((unsigned int)(*((C)++)))
а *((C)++ означает следующий элемент массива


Вместо макроса используйте BitConverter.ToUInt32
2
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 7
06.08.2015, 11:12  [ТС]
Еще раз спасибо
0
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 7
07.08.2015, 20:47  [ТС]
C++
1
#define     Bswap(x)            (x)
Опять беда(
C++
1
2
        for(i = 0; i <  4; i++)
            ((unsigned int *)cipher->IV)[i] = Bswap(cipher->iv32[i]);
C++
1
2
unsigned char  IV[16];
unsigned int iv32[4];
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
07.08.2015, 20:53
yazZva,
bswap переворачивает байты в числе

Например
C#
1
2
3
4
5
public static UInt32 ReverseBytes(UInt32 value)
{
  return (value & 0x000000FFU) << 24 | (value & 0x0000FF00U) << 8 |
         (value & 0x00FF0000U) >> 8 | (value & 0xFF000000U) >> 24;
}
Или воспользоваться BitConverter
1
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 7
07.08.2015, 22:16  [ТС]
Спасибо

Добавлено через 49 минут
C++
1
2
3
TwofishCipherInit(&Obj->ci, 1, NULL);
void TwofishCipherInit(cipherInstance *cipher, unsigned char mode, char *IV)
if((mode != 1) && (IV))
C#
1
2
3
TwofishCipherInit(ci, 1, 0);
private void TwofishCipherInit(CipherInstance cipher, byte mode, sbyte IV)
if ((mode != 1) && (IV != 0))
*IV = null будет false?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.08.2015, 22:16
Помогаю со студенческими работами здесь

Перевод кода с С++
помогите перевести программу с С++ в паскаль вот она: #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Перевод кода из С++ в С#
Добрый вечер,очень нужна помощь в переводе кода из С++ на С# Вот условие самой задачи:Структура &quot;Студент&quot;: - фамилия, имя,...

Перевод кода с TP
program 2; uses graph,crt; const xs0=50; xp1=1.75; xs1=610; xp0=-1.75; ys0=440;yp1=1; ys1=40; yp0=-1; {granici...

Перевод кода с JS в C#
Есть код: var errors = { 0: 'Error_1', 1: 'Error_2', 2: 'Error_3', 3:...

Перевод кода из C++ в C#
Понимаю, что прошу сложную задачу, но я начал изучать C# буквально пару дней назад, а уже сейчас нужно перевести код из C++ в C#. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru