<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8308</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8308&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS/JS: Можно ли определить размер переменной в VBScript».]]></description>
		<lastBuildDate>Tue, 14 May 2013 18:02:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72123#p72123</link>
			<description><![CDATA[<p>Помнится, в справке по VBS сказано, что там все переменные имеют тип VARIANT, т.е. это структура величиной 16 байт (x86) или 24 байта (x64). Так что всё правильно, массив должен занять 48 МБ, если движок 32-битный используется. Само число занимает только часть этой структуры, поэтому от его длины ничего и не меняется.</p><p>Хотя в VBS вроде есть ещё байтовый массив, там каждый элемент должен 1 байт занимать.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 14 May 2013 18:02:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72123#p72123</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72122#p72122</link>
			<description><![CDATA[<p>JS/VBS - языки с динамической типизацией. Это значит, что среде исполнения не известен заранее тип данных и не знает сколько переменных будет создано в ходе выполнения программы. Следовательно, среда исполнения не может знать сколько памяти отводить под все возможные переменные и скорее всего выделяет какой-то определенный пул памяти заданного размера. Возможно, что в какой-то момент этот пул может быть расширен, например, при достижении предела. </p><p>INT (к примеру) в языках с динамической типизацией это совсем не те же самые 4 байта в языках со статической типизацией (Pascal, C, C++), потому что переменная хранит сами данные и информацию о типе и размере данных.</p><p>И в завершении, ответ на вопрос </p><div class="quotebox"><blockquote><p>Как определить, сколько байт в памяти занимает переменная в языке VBScript, JScript.</p></blockquote></div><p> скорее всего будет звучать: </p><div class="quotebox"><blockquote><p>Никак.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 14 May 2013 17:55:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72122#p72122</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72120#p72120</link>
			<description><![CDATA[<p>Оба сценария занимают один и тот же объем оперативной памяти:<br /></p><div class="codebox"><pre><code>
&#039;Сценарий занимает около 50 мегабайт

dim list(3000000)
dim var_i

var_i=100
var_a=CLng(var_i)

for i=0 to 3000000
    list(i)=var_a
next
WScript.Echo (VarType(var_a))
</code></pre></div><div class="codebox"><pre><code>
&#039;Сценарий занимает около 50 мегабайт

dim list(3000000)
dim var_i

var_i=100
var_a=CByte(var_i)

for i=0 to 3000000
    list(i)=var_a
next
WScript.Echo (VarType(var_a))
</code></pre></div><p>Почему? Ведь мы привели к разному типу данных переменную var_a в первом и во втором сценариях, выходит, что функции для преобразования типов данных влияют лишь на значения данных, но не на объем данных.</p>]]></description>
			<author><![CDATA[null@example.com (fomenos)]]></author>
			<pubDate>Tue, 14 May 2013 17:18:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72120#p72120</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72119#p72119</link>
			<description><![CDATA[<p>Просто разбирал типы данных VBScript, так, переменная типа Integer(Int) в языке Паскаль занимает 4 байта, в С++ - тоже 4 байта (хотя как пишет документация все зависит от процессора). Вот написал такой пример:<br /></p><div class="codebox"><pre><code>
dim list(3000000)
dim var_i
var_i=100
&#039;переменная var_i типа Integer - 4 байта (как правило)
&#039; 3 000 000 * 4 = 12 000 000 байт - это около 11 мегабайт
&#039; Но при запуске сценария, он съедает почти 50 Мегабайт
for i=0 to 3000000
list(i)=var_i

next
WScript.Echo (&quot;OK&quot;)
</code></pre></div><p>Сам сервер Windows Script Host съедает 5 мегабайт, а после запуска сценария, процесс wscript.exe забрал около 50 мегабайт. Просто хотелось определить, сколько же Windows Script Host под переменную памяти выделяет.</p>]]></description>
			<author><![CDATA[null@example.com (fomenos)]]></author>
			<pubDate>Tue, 14 May 2013 16:53:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72119#p72119</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72116#p72116</link>
			<description><![CDATA[<p>Ну, это уже внутренности скриптового движка, как он хранит переменные. А зачем это нужно знать?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 14 May 2013 15:03:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72116#p72116</guid>
		</item>
		<item>
			<title><![CDATA[VBS/JS: Можно ли определить размер переменной в VBScript]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72111#p72111</link>
			<description><![CDATA[<p>Собственно, вопрос в названии темы. Как определить, сколько байт в памяти занимает переменная в языке VBScript, JScript. Встроенных функции я не нашел, может средствами Windows Script Host можно решить данную задачу?</p>]]></description>
			<author><![CDATA[null@example.com (fomenos)]]></author>
			<pubDate>Tue, 14 May 2013 13:10:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72111#p72111</guid>
		</item>
	</channel>
</rss>
