Указатель на область памяти

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.10.2004 (Сб) 14:21

Короче...
http://developer.intel.ru/download/desi ... 366515.pdf (3 метра)

Про всё вообще и про сегментацию в частности...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 09.10.2004 (Сб) 19:27

К вот этому:
Approximator писал(а):Если же пользователь хотя бы может запускать СВОИ приложения, то получить "права доступа" не есть проблема. При обращении к функциям kernel32 мы всегда переходим в другой уровень привелегий.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.10.2004 (Сб) 21:18

FAKK2, ну так с этим ведь не спорил никто? Ни я, ни BP?
Изображение

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 5:13

FAKK2,
Блин, раз 20 посмотрел. Одно и тоже. Или ты хотел выделить что его слова совпадают со статьёй?

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 5:25

tyomitch писал(а):А на рассылку по архитектуре памяти ZX-SPECTRUM ты часом не подписан? ;-)


Хватит того что я себя 6 лет VB пичкал. А когда смог понять что это такое на самом деле - ужаснулся. У меня такое ощущение что программисты, его писавшие, после завершения всех работ ещё раз специально прошлись по коду чтобы проверить не осталось ли там случайно что нибудь мало-мальски связанное с архитектурой ЭВМ. ;)
А Spectrum-Basic между прочим неплохая вещь была.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 5:37

И ещё по теме. Человек явно не имеет представления о чём он спрашивает. Вот таблица адресов.

Код: Выделить всё
Распределение памяти в PC
Автор: lonesome TSH/Digital Daemons
Дата: .01.2003
Раздел: Разработка ОС

Линейный адрес Тип памяти Использование
0 - 3FF RAM Таблица векторов прерываний
400 - 4FF RAM Область данных BIOS
500 - 9FFFF RAM Свободно
A0000 - BFFFF video RAM Фреймбуфферы VGA
C0000 - C7FFF ROM Video BIOS
C8000 - EFFFF Пусто -
F0000 - FFFFF ROM BIOS материнской платы
100000+ ROM Свободно

Ни о каких Сегмент:Смещение вообще речи не идёт. Посмотри первую колонку. Русским языком написано: "Линейный адрес".

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 5:37

Сдублировалось случайно.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 6:14

Настаиваю, что обсуждению распределения памяти в реальном режиме не место в теме "Visual Basic".
BP, со времён ZX-SPECTRUM многое изменилось, и если в файле стоит дата "01.2003", это не значит, что и данные настолько же свежие. У меня в книге 1985 г. те же данные.
Если человек хочет читать данные не из своего виртуального пространства, то ему нужно как минимум писать драйвер режима ядра. На VB это как-то мрачно.
Что ещё обсуждать-то? Наличие сегментов? Давайте лучше обсудим, что лучше - VB или делфи, это и то плодотворнее ;-)
Последний раз редактировалось tyomitch 10.10.2004 (Вс) 6:19, всего редактировалось 1 раз.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 6:18

BP писал(а):У меня такое ощущение что программисты, его писавшие, после завершения всех работ ещё раз специально прошлись по коду чтобы проверить не осталось ли там случайно что нибудь мало-мальски связанное с архитектурой ЭВМ. ;)

И совершенно правильно. В результате этой чистки VBA работает на Маках. А если бы кому ни попадя давали писать по абсолютным адресам, что бы было?
Охота ковыряться в регистрах процессора - забудь ты этот нехороший бейсик, он не для того создан. Ты гвоздь тоже будешь забивать сковородкой только потому, что она случайно оказалась у тебя в руках? И потом всем жаловаться, что ей неудобно забивать гвозди? ;-)
Изображение

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 6:36

У меня в книге 1985 г. те же данные.

Хорошо хоть на Спектруме у тебя не теже данные ;) Конечно, ведь архитектура процессоров Интел основана на совместимости более поздних версий с предками. Иначе зачем этот мусор с одновременной поддержкой 16 и 32-битного режима. Кстати 85 год акурат год выпуска МП i386. Так что есть вероятность того что и дока эта под 32-битный процессор.

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

Тут не стану спорить. Сам не прочь разобраться как драйверы делаются. Пару дней назад у меня даже мелькала мысля написать БЕЙСИК для драйверов, но пока это выходит за пределы моих познаний.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 6:49

BP писал(а):Кстати 85 год акурат год выпуска МП i386. Так что есть вероятность того что и дока эта под 32-битный процессор.

Эта книга про IBM PC/AT, а там 286.
32-битный режим в книге не упоминается ни словом.
И Win32 появилась существенно позже - в 1993 г.

А то, что сохранена поддержка старых режимов, ничуть не означает, что всё на самом деле работает по-старому. А то по-твоему получается, что Win32 - это тот же дос, только с наворотами вроде окошек.

Ну... какую бы ещё аналогию придумать... ну можно по ПДД по улицам на лошадях ездить, но почему-то не ездят :roll: И автомобиль - это не та же лошадь, только на бензине, а нечто принципиально другое.
Изображение

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 6:49

tyomitch писал(а): И совершенно правильно. В результате этой чистки VBA работает на Маках. А если бы кому ни попадя давали писать по абсолютным адресам, что бы было?
Охота ковыряться в регистрах процессора - забудь ты этот нехороший бейсик, он не для того создан. Ты гвоздь тоже будешь забивать сковородкой только потому, что она случайно оказалась у тебя в руках? И потом всем жаловаться, что ей неудобно забивать гвозди?

Вынужден не согласится. Во первых если ты не любишь "этот нехороший бейсик", то зачем собственно тогда вообще на нём программы писать.
И исходя из твоих слов, а если бы кому ни попадя давали создавать потоки в VB6 что бы было? В том то и дело что ничего. И зачем тогда в VBA поддержка API, которая сводит на нет всю кроссплатформенность? Надо было бы и её убрать для полной совместимости. Да и вообще по моему МС выпускает офис не только под винду, а и под другие платформы тоже.
Про гвозди и сководки у меня коментариев нет.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 6:59

А то, что сохранена поддержка старых режимов, ничуть не означает, что всё на самом деле работает по-старому. А то по-твоему получается, что Win32 - это тот же дос, только с наворотами вроде окошек.

Ну это смотря в каком режиме находится МП.

Ну... какую бы ещё аналогию придумать... ну можно по ПДД по улицам на лошадях ездить, но почему-то не ездят И автомобиль - это не та же лошадь, только на бензине, а нечто принципиально другое.

Ты Turbo Basic видел? А ASIC? Там было всё то что позволяло называть их языками программирования. И не надо говорить что они сами отмерли, все знают как это происходило. По тем временам именно Turbo Basic был признан лучшим из Бейсиков, а вовсе не QB. Кстати его прототип Power Basic жив до сих пор. Я не знаю по какой причине, но МС вообще убрала БЕЙСИК из категории языков программирования.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 6:59

BP писал(а):Вынужден не согласится. Во первых если ты не любишь "этот нехороший бейсик", то зачем собственно тогда вообще на нём программы писать.

Я - люблю. А вот ты почему-то не перестаёшь его поносить. Зачем собственно тогда вообще на нём программы писать?
BP писал(а):В том то и дело что ничего. И зачем тогда в VBA поддержка API, которая сводит на нет всю кроссплатформенность? Надо было бы и её убрать для полной совместимости.

Опять доводишь всё до абсурда. В VB не реальзованы не-кроссплатформенные фичи, но это не значит, что они запрещены.
Программисту дана возможность делать всё что он пожелает. При этом то, для чего VB предназначен, делается легко, а забивание гвоздей сковородкой - тяжело. И где здесь "злой умысел" разработчиков VB?
BP писал(а):Да и вообще по моему МС выпускает офис не только под винду, а и под другие платформы тоже.

Да, под Маки. Я с этого и начал. Невнимательно читаешь.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 7:03

BP писал(а):И не надо говорить что они сами отмерли, все знают как это происходило. По тем временам именно Turbo Basic был признан лучшим из Бейсиков, а вовсе не QB. Кстати его прототип Power Basic жив до сих пор. Я не знаю по какой причине, но МС вообще убрала БЕЙСИК из категории языков программирования.

"Welcome to life" (c)
Другой реальности у тебя нету, придётся жить в этой. В этой VB жив, а TB мёртв. И - удивительно - никого, кроме тебя, это не печалит.
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.10.2004 (Вс) 7:03

Да, это к спору alibeka и Approximatora. Я просто подчеркнул аргументы одной из сторон :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 7:07

Я - люблю. А вот ты почему-то не перестаёшь его поносить. Зачем собственно тогда вообще на нём программы писать?

Судя по твоим предыдущим словам ты не только его не любишь, а ещё и не уважаешь в придачу.

Опять доводишь всё до абсурда. В VB не реальзованы не-кроссплатформенные фичи, но это не значит, что они запрещены.
Программисту дана возможность делать всё что он пожелает. При этом то, для чего VB предназначен, делается легко, а забивание гвоздей сковородкой - тяжело. И где здесь "злой умысел" разработчиков VB?

Собственно тут до меня не дошло что ты хотел сказать

Да, под Маки. Я с этого и начал. Невнимательно читаешь.

Так в том то и дело. Архитектура то у Apple другая. Соответсвенно офис писался с нуля под совершенно другой процессор.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 7:15

Другой реальности у тебя нету, придётся жить в этой. В этой VB жив, а TB мёртв. И - удивительно - никого, кроме тебя, это не печалит.

Я же сказал что TB был написан на основе PB. Так что никто не умер слава богу. Живёт и здравствует по сей день. "Эта" реальность мнительна. Основной её задачей является скрыть существование других реальностей. Хочешь увидеть другую реальность? Зайди на PowerBasic.com.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 7:34

BP писал(а):
Опять доводишь всё до абсурда. В VB не реальзованы не-кроссплатформенные фичи, но это не значит, что они запрещены.
Программисту дана возможность делать всё что он пожелает. При этом то, для чего VB предназначен, делается легко, а забивание гвоздей сковородкой - тяжело. И где здесь "злой умысел" разработчиков VB?

Собственно тут до меня не дошло что ты хотел сказать

Да в третий раз одно и то же. Что ты не понял, зачем нужен VB. И что удивляешься, что им неудобно делать то, что им делать не надо.

BP писал(а):
Да, под Маки. Я с этого и начал. Невнимательно читаешь.

Так в том то и дело. Архитектура то у Apple другая. Соответсвенно офис писался с нуля под совершенно другой процессор.

Ну-ну :-? Ты хоть представляешь, сколько в Офис вложено человеко-часов, чтобы переписывать его с нуля? На это не один год ушёл бы.
А они ничего, не напрягаясь выпускают для Маков версию за версией. Откуда немедленно следует, что код у них большей частью общий.
Вот и выгода от не-углубления в аппаратно-зависимый код. МС будет подминать под себя одну платформу за другой, а ты так и будешь сидеть в своей собственной реальности, уткнувшись носом в 8086-ой процессор, и писать для него Самый Правильный Бейсик.
Изображение

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 7:45

Раз пошли оскорбления значит аргументы уже исчерпаны. Зачем тебе эта игра слов? Из упрямства? Я ведь серьёзные вещи говорю, а у тебя прямо детский сад какой то.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 10.10.2004 (Вс) 7:51

VB не является нормальным языком программирования. Вообще то он не является языком программирования в принципе.
Это конструктор форм + скрипты для их обслуживания. Всё программирование на VB сводится к обслуживанию самого VB. Единственное где его можно применить - свзяка с другим языком, не обладающим столь мощными средствами управления формами. Т.е. - это обслуга. Сам он не может ничего. Он может только подключить ActiveX, в котором уже всё написано на другом языке.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.10.2004 (Вс) 8:10

BP писал(а):VB не является нормальным языком программирования. Вообще то он не является языком программирования в принципе.


Сколько лет нас водили за нос!!!

А скажи мне, пожалуйста, что такое язык программирования?

(похоже я влезаю в бесконечный спор, но не выдержал :p)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 8:10

BP писал(а):Раз пошли оскорбления значит аргументы уже исчерпаны. Зачем тебе эта игра слов? Из упрямства? Я ведь серьёзные вещи говорю, а у тебя прямо детский сад какой то.

А перед этим ты писал(а):"Эта" реальность мнительна. Основной её задачей является скрыть существование других реальностей.

Да уж, серьёзнее некуда.

Да ну тебя. Не любишь VB - отвяжись от меня и всех тех, кто любит. Нас много. А то прицепился ни с того ни с сего и ноет, мол, не язык, мол, виртуальная машина...
И дело не в том, что у меня аргументы кончились, а в том, что ты их не воспринимаешь совершенно и всё одно и то же повторяешь, как фанатик. Джихад прямо какой-то разводишь. Ну тебя.

И сегменты в Win32 тоже можешь продолжать искать, если хочешь. Удачи.
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 10.10.2004 (Вс) 8:11

tyomitch, присоединяюсь.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 10.10.2004 (Вс) 10:05

Влезая в этот спор, отвечу...
BP писал(а):Хочешь увидеть другую реальность

Это уже называется наглая реклама :P
А вообще сравнивать PowerBASIC - неплохой, но процедурный (декларативный) язык с VB - по большей части объектно-ориентированным, по-моему, нельзя. Уж слишком они разные по сути.
Моду создают модоки, а распространяют модозвоны.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 11.10.2004 (Пн) 2:07

hCORe,
Это уже называется наглая реклама

Называй как хочешь. Наверное я плохо излагаю свои мысли.

А вообще сравнивать PowerBASIC - неплохой, но процедурный (декларативный) язык с VB - по большей части объектно-ориентированным, по-моему, нельзя. Уж слишком они разные по сути.

Сравнение не полное. Если ты снимешь с VB все ограничения, то получишь инструмент намного мощнее чем Power Basic. И даже сильный проигрыш VB в скорости не будет тому помехой.
Я вообще то не сравнивал их, но если хочешь могу попытаться это сделать.

Компилятор
VB - Переделан со старого компилятора C++
PB - Написан полностью на ассемблере.

Способ выполнения приложения
VB - вызовы модулей зашитых в виртуальную машину
PB - Непосредственное выполнение последовательно расположенных операций

Скорость работы приложения
VB - низкая
PB - высокая

Зависимость от внешних модулей
VB - MSVBVM60.DLL (1.3 МБ)
PB - нет

Возможность работы с памятью
VB - Через Win32 API
PB - встроенная и может использоваться для любого типа данных

Указатели
VB - нет
PB - есть

Потоки
VB - нет
PB - есть

Встроенный ассемблер
VB - нет
PB - есть

Поддержка COM-технологии
VB - является основой
PB - через интерфейсы

Качество IDE
VB6 - отличное
PB - низкое

Т.е. как я и сказал раньше, то дальше дизайнера форм VB не идёт. Но разве программирование заключается в перетаскивании контролов по форме?
Наоборот программист не должен вообще об этом заботится, и может спокойно занятся программированием. Если с первым всё нормально, то второго просто нет. Раз ни у кого нет предположений относительно этого, то я могу высказаться по этому поводу. VB создавался программистами Микрософт как средство создания форм для системных языков (это не предположение а факт). Потом Микрософт сменила маркетинговую политику (почему не знаю) и стала преподносить его как полноценное средство разработки приложений. Но при этом принципы дизайнера форм, заложенные в него оставила неизменными. Создание полноценного языка потребовало полностью переписать исходные коды VB, потому как модель дизанера, заложенная в него не расширялась. Микрософт просто сменила упаковку.

tyomitch,
Я рад что тебе так счасливо живётся в дружной семье VB. Желаю тебе и дальше в ней оставаться. Только флудь поменьше.
Кин-Дза-Дза:
Я так люблю господина Пэжэ. А я его ещё больше Ку!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 11.10.2004 (Пн) 9:12

BP писал(а):Если ты снимешь с VB все ограничения

Вот Вы, товарищ кулхацкер BP, и снимайте все ограничения с VB. А мне это без надобности. Зачем что-то менять, когда я могу спокойно написать библиотеку для работы со строками (критичную к производительности) на MSVC++ 6, а потом подключить ее к VB?
BP писал(а):дальше дизайнера форм VB не идёт. Но разве программирование заключается в перетаскивании контролов по форме?

Для кого-то, да. И вообще, приложение должно не отталкивать, а притягивать своим дизайном.
BP писал(а):Микрософт просто сменила упаковку

Возможно, вполне возможно. Г-н BP, по всей видимости, лично знаком с кем-то из менеджеров MS :D

P.S. А вот речевой синтезатор Digalo 2000 читает слово не "микросОфт", а "микрОсофт" 8). В общем, это вам не хУхры-мУхры!
Моду создают модоки, а распространяют модозвоны.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.10.2004 (Пн) 11:41

BP писал(а):Сравнение не полное. Если ты снимешь с VB все ограничения, то получишь инструмент намного мощнее чем Power Basic. И даже сильный проигрыш VB в скорости не будет тому помехой.


Перечисли, плиз, ограничения, которые было бы неплохо снять.
Мне просто интересен твой вариант этого перечня.

BP писал(а):Компилятор
VB - Переделан со старого компилятора C++
PB - Написан полностью на ассемблере.

Какая разница, на чём написан компилятор?. Да хоть на java script. И пусть он два часа компилирует - но если в результате появляется рульный двоичный код, то совершенно пофигу, сколько работал компилятор и на чём он писан!

BP писал(а):Способ выполнения приложения
VB - вызовы модулей зашитых в виртуальную машину
PB - Непосредственное выполнение последовательно расположенных операций

Потрудись ка-нибудь дизассемблировать экзешник, созданный VB. Посмотри, как реализованы вызовы процедур. И подобных утверждений больше не делай.
И вообще, не стоит путать вызов своих процедур с вызовом объектов, инициализируемых средой. в PB, если не ошибаюсь, таких объектов просто нет.

BP писал(а):Скорость работы приложения
VB - низкая
PB - высокая

Хум хау + степень криворукости программирующего.

BP писал(а):Зависимость от внешних модулей
VB - MSVBVM60.DLL (1.3 МБ)
PB - нет

Потому что это сборище рантаймовых функций. Если ты не знал, в C++ тоже есть рантаймовая библиотека, просто она по дефолту идёт с виндой, и потому её обычно не замечают.

BP писал(а):Возможность работы с памятью
VB - Через Win32 API
PB - встроенная и может использоваться для любого типа данных

С помощью CreateSAFEARRAY можно обратиться к любому участку памяти так, словно он содержит данные типа N. При этом соблюдается полный синтаксис VB, никаких копирований.

BP писал(а):Указатели
VB - нет
PB - есть

Указатели в VB есть. Хотя бы потому, что по умолчанию все переменные передаются по указателю. Нужно просто уметь ими пользоваться.

BP писал(а):Потоки
VB - нет
PB - есть

И потоки есть. Просто на них накладываются ограничения, связанные с потоконебезопасностью многих методов. Но и это достаточно просто обходится.
Посмотри - в Дельфи, к примеру, есть метод Syncronize. Забыл вызвать - борода. Потому что и там методы небезопасны к потокам.
А в .NET? Там вообще просто - подавляющее большинство не-shared методов не потокобезопасны.
Просто нужно понимать, что ты делаешь, и как это будет представленно на машинном уровне.
Когда понимаешь, то и многопоточностью в VB заниматься несложно.

BP писал(а):Встроенный ассемблер
VB - нет
PB - есть

Действительно, а почему это не встроенного асма в RAD-тулзине? :)

BP писал(а):Раз ни у кого нет предположений относительно этого, то я могу высказаться по этому поводу. VB создавался программистами Микрософт как средство создания форм для системных языков (это не предположение а факт). Потом Микрософт сменила маркетинговую политику (почему не знаю) и стала преподносить его как полноценное средство разработки приложений. Но при этом принципы дизайнера форм, заложенные в него оставила неизменными.

Ну знаешь...
В VS есть собственный редактор ресурсов, и он, с точки зрения профессионала, имеет больше возможностей. И VB тут ни причём.

BP писал(а):Создание полноценного языка потребовало полностью переписать исходные коды VB, потому как модель дизанера, заложенная в него не расширялась. Микрософт просто сменила упаковку.

Давай ещё раз...
Что такое полноценный язык программирования? Задай критерии.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 12.10.2004 (Вт) 6:03

GSerg,
То что ты написал - это же несерьёзно и ещё менее осмысленно аргументов tyomich'а. Честно говоря я ожидал от тебя большего чем простое выворачивание фактов. Потрудись подуматать и перепеисать свои аргументы заново. И считай что я этого не читал.

Чтож, подождём approximator'а. Этот такой что за словом в карман не полезет.

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 12.10.2004 (Вт) 6:07

Особенно мне понравились коментарии по поводу того факта что для VB не потрудились даже своего компилятора написать, в то в ремя как компилятор PB писался спецально для этого языка.
То что в VC++ есть рантаймовая библиотека знает по моему каждый, но чтобы отнести это к его достоинствам...

BP писал:
Способ выполнения приложения
VB - вызовы модулей зашитых в виртуальную машину
PB - Непосредственное выполнение последовательно расположенных операций

Потрудись ка-нибудь дизассемблировать экзешник, созданный VB. Посмотри, как реализованы вызовы процедур. И подобных утверждений больше не делай.
И вообще, не стоит путать вызов своих процедур с вызовом объектов, инициализируемых средой. в PB, если не ошибаюсь, таких объектов просто нет.

Это напомнило мне недавний пост на VbNet.ru, где один с завидным упорством доказывал что Fusion выдирает функции из MSVBVM60.DLL и по ним перекомпилирует экзешник. К счастью, в отличие от этого форума, разум переборол стадный инстикт.


А вот здесь про виртуальную машину. Сомневаешся что эти люди дизассемблировали экзешники под VB?
http://xtin.km.ru/view.shtml?id=77
Для тех кто знает что такое виртуальная машина, объяснять что такое псевдокод(P-code) не нужно. А вобще то это такой хитрожопый способ для уменьшения размера проги, естественно ценой скорости выполнения. Его суть: программер просто выставляет режим компиляции в псевдокод и получает EXE файл, в котором вместо асма, в секции text лежит набор номеров функций для виртуальной машины VB. Тоесть выполнение происходит через огромный CASE, который стоит в виртуальной машине. Естественно в ехе файле лежат не только номера функций, есть также и параметры передаваемые им. Но вид такой "код" принимает абсолютно другой. Т.е. дизассемблирование тут отпадает сразу.

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 50

    TopList