Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcnew и ^ в MSVC2005 / 14 сообщений из 14, страница 1 из 1
08.11.2006, 17:26
    #34113356
astamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
Есть например такой кусок кода:
Код: plaintext
1.
array <String^>^ tst_arr;
tst_arr=gcnew array <String^>( 5 );
возможно ли настроить опции сборки проекта так чтобы использовать стандартные
new и *
...
Рейтинг: 0 / 0
08.11.2006, 21:27
    #34113958
AndreiNz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
скорее всего не получится. Вы указываете, что создаете объект на управляемой куче, удолятся он будет сборщиком мусора. Если преобразовать все к работе с обычной кучей, то кто будет удалять объект?
...
Рейтинг: 0 / 0
09.11.2006, 00:36
    #34114111
astamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
AndreiNz
Мне надо чтобы было что то вроде этого
Код: plaintext
1.
array <String*>* tst_arr;
tst_arr=gcnew array <String*>( 5 );
Я правильно понимаю что
Код: plaintext
gcnew
причуда исключительно .NET?
Идея всего этого написать куски кода которые потребуют минимальных изменений для соборки и на nix системах и на win.
...
Рейтинг: 0 / 0
09.11.2006, 02:33
    #34114179
&lt;&gt;
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
Ну если кроссплатформенности хотите, то вам надо все на стандартном С++, вместо String std::string, new вместо этого gcnew, array - это наверное std::vector, ну и т.д. Или вы хотите дотнет переносить? Что то я не понял
...
Рейтинг: 0 / 0
09.11.2006, 12:17
    #34115340
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
1) писать под юних на .нете - ты уверен?
2) gcnew и хэндлы были введены в с++.нет 2005, старый синтаксис (Managed extentions for c++) поддерживается: http://msdn2.microsoft.com/en-us/library/xey702bw.aspx
...
Рейтинг: 0 / 0
09.11.2006, 12:19
    #34115357
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
если хоцца кроссплатформенности, лучче писать на жабе
...
Рейтинг: 0 / 0
09.11.2006, 13:48
    #34115876
astamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
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
09.11.2006, 14:56
    #34116335
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
ты ей указал /clr:oldSyntax ?
...
Рейтинг: 0 / 0
09.11.2006, 15:01
    #34116376
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
т.к. генерик array из второго фреймворка, возможно, он не захочет работать с синтаксисом первого.
...
Рейтинг: 0 / 0
09.11.2006, 15:42
    #34116641
astamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
maXmo
указать то указал только после этого другая часть собирается, которая относиться к GUI
пробывал еще
Код: plaintext
#pragma unmanaged
тоже не помогло
просто буду отдельные библиотеки на стандартном с++ писать, без использования несовместимого синтаксиса.
...
Рейтинг: 0 / 0
09.11.2006, 17:19
    #34117073
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
так ты хотел оба синтаксиса одновременно поиметь? А что не перепишешь всё в старом синтаксисе?
...
Рейтинг: 0 / 0
09.11.2006, 18:18
    #34117274
astamer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
Если включаю 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
09.11.2006, 22:27
    #34117683
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
да, по-старому будет
public __gc class Form1 : public System::Windows::Forms::Form
...
Рейтинг: 0 / 0
09.11.2006, 23:19
    #34117726
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gcnew и ^ в MSVC2005
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / gcnew и ^ в MSVC2005 / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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