Страница 2 из 2

Re:

СообщениеДобавлено: 16.08.2011 (Вт) 23:10
jangle
Qwertiy писал(а):И что же в нём неправильного?


Смотри мои посты выше

СообщениеДобавлено: 16.08.2011 (Вт) 23:13
Qwertiy
jangle писал(а):
Qwertiy писал(а):И что же в нём неправильного?

Смотри мои посты выше

Я смотрел. Не вижу ошибки. Возможно, из-за незнания PB.

Re: методы отлова ошибок из VB6 to PWB

СообщениеДобавлено: 16.08.2011 (Вт) 23:13
FireFenix
jangle писал(а):
iGrok писал(а):Троллишь толсто.


Это ты троллишь. Причем глупо. MS VС++ единственный возможный инструмент для профессиональной разработки в настоящее время.
Например в моей организации используется VS2008. Скажи чем заменить тут C++ если контора создает КИС и тренажеры содержащие 2D/3D графику?
При этом приходится работать с OpenGL и Direct3D, с шейдерами Cg/HLSL/GLSL, использовать 3DS MAX SDK, юзать STL и boost и просто asm, в добавок кучу тулз типа VTune или AMD Codeanalyst. Какой инструмент можно использовать кроме MSVC++?

Pascal? Delphi? .NET? Java? Да вагон всего, только это время всё подстраивать уже работающее...

Если вы не используете Nsight, то MSVS вполне заменяема другими средами, т.е. дело привычки и знаний работы

Re:

СообщениеДобавлено: 16.08.2011 (Вт) 23:22
jangle
Qwertiy писал(а):Я смотрел. Не вижу ошибки. Возможно, из-за незнания PB.


Задачка для урока информатики. Обращение к элементу за границей объявленного массива.
Строку с ошибкой сам сможешь найти?

#COMPILE EXE
#DIM ALL
'#DEBUG ERROR ON
GLOBAL x_ptr AS INTEGER PTR
FUNCTION PBMAIN () AS LONG

DIM x(129 TO 145) AS GLOBAL INTEGER
x_ptr=VARPTR(x(0))
MSGBOX STR$(@x_ptr[129])

END FUNCTION

Re: методы отлова ошибок из VB6 to PWB

СообщениеДобавлено: 16.08.2011 (Вт) 23:27
jangle
FireFenix писал(а):Pascal? Delphi? .NET? Java? Да вагон всего, только это время всё подстраивать уже работающее...


Pascal? Delphi? - тормоза, нет нужных библиотек инфраструктуры и вообще ничего, и кстати давно трупы уже.
.NET? Java? - спасибо посмеялся, почему тогда не QBasic? Может тоже подойдет для разработки приложений реального времени. :mrgreen:

СообщениеДобавлено: 16.08.2011 (Вт) 23:28
Qwertiy
jangle писал(а):Есть единственный стандарт языков в программировании это С/С++, а там проверки границ массива нет.

А если взять не массив, а vector? Хотя по стандарту проверка границ делается только для at и не делается для [], в VS эта проверка делается в обоих случаях.

СообщениеДобавлено: 16.08.2011 (Вт) 23:43
Qwertiy
jangle писал(а):Строку с ошибкой сам сможешь найти?

Я не считаю строку
Код: Выделить всё
x_ptr=VARPTR(x(0))
содержащей ошибку.

Например, рассмотрим код
Код: Выделить всё
#include <cstdio>

int &get129th(int *p)
  {
  return p[129];
  }

int main(void)
  {
  int *a = (new int[17]) - 129;
 
  get129th(a) = 12;
  printf("%d", a[129]);

  delete [] (a+129);
  return 0;
  }
обращения к неверной памяти не происходит.
А теперь задумаемся над тем, что следующие два вызова эквивалентны:
Код: Выделить всё
get129th(a)
get129th(&a[0])
Т. е. в последнем случае обращения к a[0] тоже нет.

Почему же я должен считать получение адреса с помощью VarPtr(x(0)) обращением к x(0), когда на самом деле происходит лишь копирование адреса?

Re: методы отлова ошибок из VB6 to PWB

СообщениеДобавлено: 17.08.2011 (Ср) 0:50
iGrok
jangle писал(а):MS VС++ единственный возможный инструмент для профессиональной разработки в настоящее время.

Вот это противоречит всему остальному посту. Тот факт, что в вашем конкретном случае по всем критериям подошла студия с плюсами, ещё не делает её ЕДИНСТВЕННЫМ ВОЗМОЖНЫМ инструментом.

Кстати, а на основе чего был выбран именно этот инструмент? Производились ли какие-то исследования рынка систем разработки?

Ты корпоративный веб-портал тоже на плюсах будешь разрабатывать, я надеюсь? А то очень уж поржать охота.. :mrgreen:

В общем, завязывал бы ты с авторитарными высказываниями. Или хотя бы уж "имхо" к ним приписывал. А то некрасиво получается.