Форум программистов, компьютерный форум CyberForum.ru

Перевод проекта С -> C++ - C++

Восстановить пароль Регистрация
 
Kotte
0 / 0 / 0
Регистрация: 03.12.2010
Сообщений: 17
03.01.2011, 16:17     Перевод проекта С -> C++ #1
Привет форумчане.
Может кто знает как правильно перевести проект С->C++
Был пример на С. Я его переделал обернул в dll, все работает, все нормально.
Нужно мне было передавать строку в С# программу. Сделал как wchar_t*.
В С# принял в
C#
1
2
3
byte[] ErrMess = new byte[200];
// и преобразовал 
string mess = Encoding.Unicode.GetString(ErrMess).Trim('\0');
.Захотел применить
вывод сообщения как в С++
C++
1
2
 
string func(errcode);
Переименовал файлы с *.с -> *.cpp ничего в проекте больше не меняя и получил кучу ошибок но я не так силен чтобы в этом разобраться. А как же преемственность кода на С.

>Compiling...
1>tfn_pki_cms_crypt_b.cpp
1>c:\cd_pmez_12\dll_3\dll_2\ps3_ocsp.h(64) : error C2040: 'POCSP_SINGLE_RESPONSE' : 'POCSP_SINGLE_RESPONSE *' differs in levels of indirection from 'POCSP_SINGLE_RESPONSE'
1>.\tfn_pki_cms_crypt_b.cpp(225) : error C2664: 'M_Malloc' : cannot convert parameter 1 from 'BYTE **__w64 ' to 'PVOID *'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>.\tfn_pki_cms_crypt_b.cpp(248) : error C2664: 'E_DigestDataByGOST34_311FromMemory' : cannot convert parameter 1 from 'CK_VOID_PTR' to 'PBYTE'
1> Conversion from 'void*' to pointer to non-'void' requires an explicit cast
1>.\tfn_pki_cms_crypt_b.cpp(254) : error C2664: 'BOOL (BYTE *,DWORD *,X509Certificate *)' : cannot convert parameter 1 from 'CK_VOID_PTR' to 'BYTE *'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 16:17     Перевод проекта С -> C++
Посмотрите здесь:

Линковка проекта. C++
C++ Организация проекта на C++
Перевод проекта из VC 6 в VC2010 ОШИБКА C++
C++ Настройки проекта в VC++ 6
C++ Состав проекта С++
Разбиение проекта на .h C++
C++ Структура проекта
как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.01.2011, 12:14     Перевод проекта С -> C++ #2
Код
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
если malloc() где-нибудь напрямую присваивается, нужно привести явно к типу указателя

C
1
2
3
4
5
    void *a;
    int *b;
 
    a = b;
    b = a;
легальные

C
1
2
3
4
5
    void *a;
    int *b;
 
    a = (void *) b;
    b = (int *) a;
переносимые
Yandex
Объявления
04.01.2011, 12:14     Перевод проекта С -> C++
Ответ Создать тему
Опции темы

Текущее время: 22:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru