powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcnew и ^ в MSVC2005
14 сообщений из 14, страница 1 из 1
gcnew и ^ в MSVC2005
    #34113356
astamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть например такой кусок кода:
Код: plaintext
1.
array <String^>^ tst_arr;
tst_arr=gcnew array <String^>( 5 );
возможно ли настроить опции сборки проекта так чтобы использовать стандартные
new и *
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34113958
AndreiNz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего не получится. Вы указываете, что создаете объект на управляемой куче, удолятся он будет сборщиком мусора. Если преобразовать все к работе с обычной кучей, то кто будет удалять объект?
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34114111
astamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreiNz
Мне надо чтобы было что то вроде этого
Код: plaintext
1.
array <String*>* tst_arr;
tst_arr=gcnew array <String*>( 5 );
Я правильно понимаю что
Код: plaintext
gcnew
причуда исключительно .NET?
Идея всего этого написать куски кода которые потребуют минимальных изменений для соборки и на nix системах и на win.
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34114179
&lt;&gt;
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если кроссплатформенности хотите, то вам надо все на стандартном С++, вместо String std::string, new вместо этого gcnew, array - это наверное std::vector, ну и т.д. Или вы хотите дотнет переносить? Что то я не понял
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34115340
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) писать под юних на .нете - ты уверен?
2) gcnew и хэндлы были введены в с++.нет 2005, старый синтаксис (Managed extentions for c++) поддерживается: http://msdn2.microsoft.com/en-us/library/xey702bw.aspx
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34115357
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хоцца кроссплатформенности, лучче писать на жабе
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34115876
astamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo
1. нет на .net будет только gui интерфейс, просто есть часть библиотек которые не хотелось бы менять, видимо буду дальше дописывать существующие без применения managed кода.
2. насчет синтаксиса понял, но это не совсем то. Видимо нет работает только этими функциями, иначе получается вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
\sql_base.cpp( 72 ) : error C3699: '*' : cannot use this indirection on type 'System::String'
        compiler replacing '*' with '^' to continue parsing
.\sql_base.cpp( 72 ) : error C3821: 'cli::array<Type> *': managed type or function cannot be used in an unmanaged function
        with
        [
            Type=System::String ^
        ] 
java это конечно хорошо, но пока выбор сделан в пользу с++.
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34116335
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты ей указал /clr:oldSyntax ?
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34116376
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.к. генерик array из второго фреймворка, возможно, он не захочет работать с синтаксисом первого.
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34116641
astamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo
указать то указал только после этого другая часть собирается, которая относиться к GUI
пробывал еще
Код: plaintext
#pragma unmanaged
тоже не помогло
просто буду отдельные библиотеки на стандартном с++ писать, без использования несовместимого синтаксиса.
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34117073
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так ты хотел оба синтаксиса одновременно поиметь? А что не перепишешь всё в старом синтаксисе?
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34117274
astamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если включаю oldsyntax
то на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Add the constructor code here
			//
		}
выдает вот это
Код: plaintext
e:\projects\vc\test_sqllite1\test_sqllite1\Form1.h( 22 ) : error C2059: syntax error : 'public'
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34117683
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, по-старому будет
public __gc class Form1 : public System::Windows::Forms::Form
...
Рейтинг: 0 / 0
gcnew и ^ в MSVC2005
    #34117726
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcnew и ^ в MSVC2005
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]