﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">x64 support</title>
  <id>~/topic/1908/x64-support/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-05-01T08:52:44Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=1908" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/11230/</id>
    <title type="text">Задачу с Interop я решил, namespace переименовал. А как мы хотим решать задачу с классами - когда од...</title>
    <published>2011-09-19T15:35:34Z</published>
    <updated>2011-09-19T15:35:34Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander &lt;a href="https://stocksharp.ru/posts/m/11199/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Задачу с Interop я решил, namespace переименовал.&lt;br /&gt;&lt;br /&gt;А как мы хотим решать задачу с классами - когда один и тот же класс, тот же CP2ConnectionClass, определён в 2х namespace&amp;#39;ах? Через интерфейсы тут не решишь, возникнет проблема с приведениями. Пока идей по решению нет у меня.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Мне кажется, идея с врапперами ускользнула. Никакого кастинга между x86 и x64 типа данных делать естественно не нужно. Катинг должен быть между IConnectionWrapper и его реализацией.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander &lt;a href="https://stocksharp.ru/posts/m/11199/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Есть предложение - сделать подключение того или иного namespace&amp;#39;a по define при билде. Соответственно просто собирать 2 библиотеки - для 32х и 64х и добавлять их обе в релиз. Так и с производительностью потерь точно не будет.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;С производительностью проблем не будет ни при каких вариантах. А сейчас решение практически ничем не отличается от перекомпиляции примера под разные платформы.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11205/</id>
    <title type="text">Положил на codeplex изменения с возможным билдом 64x версией коннектора. Он билдится в том случае, е...</title>
    <published>2011-09-19T10:52:23Z</published>
    <updated>2011-09-19T10:52:23Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Положил на codeplex изменения с возможным билдом 64x версией коннектора. Он билдится в том случае, если собираем под x64 платформу. В остальных случаях используется 32x библиотека.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11199/</id>
    <title type="text">Задачу с Interop я решил, namespace переименовал. А как мы хотим решать задачу с классами - когда од...</title>
    <published>2011-09-19T10:13:29Z</published>
    <updated>2011-09-19T10:13:29Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.ru/users/2826/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Задачу с Interop я решил, namespace переименовал.&lt;br /&gt;&lt;br /&gt;А как мы хотим решать задачу с классами - когда один и тот же класс, тот же CP2ConnectionClass, определён в 2х namespace&amp;#39;ах? Через интерфейсы тут не решишь, возникнет проблема с приведениями. Пока идей по решению нет у меня.&lt;br /&gt;&lt;br /&gt;Есть предложение - сделать подключение того или иного namespace&amp;#39;a по define при билде. Соответственно просто собирать 2 библиотеки - для 32х и 64х и добавлять их обе в релиз. Так и с производительностью потерь точно не будет.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11168/</id>
    <title type="text">x64 нужно только, если есть обращения к 64-битным native-библиотекам или нужно работать с огромной п...</title>
    <published>2011-09-17T12:29:57Z</published>
    <updated>2011-09-17T12:29:57Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;aspirant &lt;a href="https://stocksharp.ru/posts/m/11166/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;x64 нужно только, если есть обращения к 64-битным native-библиотекам или нужно &lt;b&gt;работать с огромной памятью&lt;/b&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;.NET под 32 бита выделяет всего 1.5 гига. Далее, OME. Это большой объем разве что для телефонов.[smile] &lt;br /&gt;&lt;br /&gt;В реальности есть неудобство при использовании бэк тестера, который прожорлив к памяти. Приходится бота перекомпилировать с x86 на x64 и обратно.&lt;br /&gt;&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;aspirant &lt;a href="https://stocksharp.ru/posts/m/11166/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;Вот, кстати, майкрософтовский &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAjGjvnQEgUlHHop0mbzPHAfdx3h4xkjJySFffsmzhPCjal1-ztGlkue0XQq-vppR95mFyUX8Edz5OItUx_WTpzM6YJdtrSqJ9FDRbWgfdBETmxyv4WiPq53nX0J563tRCugl43fbqKeI2weyqRPx0-" title="http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx"&gt;пост&lt;/a&gt; на тему AnyCPU.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Эта статья говорит о том, что с AnyCPU больше проблем (кто бы спорил). Но не противоречит о том, что переход на AnyCPU лучше, чем держать бота конкретно под архитектуру процессора.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11166/</id>
    <title type="text">Может сделать поддержку x64? Я думаю через какое-то время будет уже релиз этого дистрибутива. Предла...</title>
    <published>2011-09-17T11:37:20Z</published>
    <updated>2011-09-17T11:37:20Z</updated>
    <author>
      <name>aspirant</name>
      <uri>https://stocksharp.ru/users/6114/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Mikhail Sukhov &lt;a href="https://stocksharp.ru/posts/m/11160/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Может сделать поддержку x64? Я думаю через какое-то время будет уже релиз этого дистрибутива.&lt;br /&gt;&lt;br /&gt;Предлагаю сделать это прозрачным механизмом, чтобы работало без перекомпиляции робота. Например, если робот собрать как AnyCPU, то он будет и под 32 и под 64 бита работать в родном режиме. Сейчас приходится робота собирать принудительно под x86 (32 бита).&lt;br /&gt;&lt;br /&gt;В чем основная загвоздка. Дело в том, что названия классов, которые генерируются в сборке Interop.XXX для 32 и 64 бита - одни и те же. Тоесть, нужно научиться их переименовывать Interop.XXX32 и Interop.XXX64  (могу помочь как это сделать).&lt;br /&gt;&lt;br /&gt;Далее, нужно описать COM модель Плазы через интерфейсы. Например, IConnectionWrapper, IStreamWrapper. И создать реализации интерфейсов, ConnectionWrapper32 ConnectionWrapper64. Каждый из них будет посылать вызовы только в свои сборки. Затем, нужно все места, где используются Плаза типы, переделать на использование интерфейсов. Соответственно, при старте нужно будет лишь определить, какой разрядности сейчас процессор и какую реализацию интерфейса нужно подсовывать. Делается просто, через typeof(IntPtr) == 4 -&amp;gt; x86.&lt;br /&gt;&lt;br /&gt;Такую задачу нужно начинать с конца, тоесть сначала реализовать интерфейсы и реализацию для 32 бита (ее же и подсовывать по умолчанию).&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;x64 нужно только, если есть обращения к 64-битным native-библиотекам или нужно работать с огромной памятью.  Может просто компилить под х86?  У меня на Win7 (x64) нормально работает 32-битная версия роутера.&lt;br /&gt;&lt;br /&gt;Вот, кстати, майкрософтовский &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAjGjvnQEgUlHHop0mbzPHAfdx3h4xkjJySFffsmzhPCjal1-ztGlkue0XQq-vppR95mFyUX8Edz5OItUx_WTpzM6YJdtrSqJ9FDRbWgfdBETmxyv4WiPq53nX0J563tRCugl43fbqKeI2weyqRPx0-" title="http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx"&gt;пост&lt;/a&gt; на тему AnyCPU.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/11160/</id>
    <title type="text">Может сделать поддержку x64? Я думаю через какое-то время будет уже релиз этого дистрибутива. Предла...</title>
    <published>2011-09-16T14:06:59Z</published>
    <updated>2011-09-16T14:08:20Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Может сделать поддержку x64? Я думаю через какое-то время будет уже релиз этого дистрибутива.&lt;br /&gt;&lt;br /&gt;Предлагаю сделать это прозрачным механизмом, чтобы работало без перекомпиляции робота. Например, если робот собрать как AnyCPU, то он будет и под 32 и под 64 бита работать в родном режиме. Сейчас приходится робота собирать принудительно под x86 (32 бита).&lt;br /&gt;&lt;br /&gt;В чем основная загвоздка. Дело в том, что названия классов, которые генерируются в сборке Interop.XXX для 32 и 64 бита - одни и те же. Тоесть, нужно научиться их переименовывать Interop.XXX32 и Interop.XXX64  (могу помочь как это сделать).&lt;br /&gt;&lt;br /&gt;Далее, нужно описать COM модель Плазы через интерфейсы. Например, IConnectionWrapper, IStreamWrapper. И создать реализации интерфейсов, ConnectionWrapper32 ConnectionWrapper64. Каждый из них будет посылать вызовы только в свои сборки. Затем, нужно все места, где используются Плаза типы, переделать на использование интерфейсов. Соответственно, при старте нужно будет лишь определить, какой разрядности сейчас процессор и какую реализацию интерфейса нужно подсовывать. Делается просто, через typeof(IntPtr) == 4 -&amp;gt; x86.&lt;br /&gt;&lt;br /&gt;Такую задачу нужно начинать с конца, тоесть сначала реализовать интерфейсы и реализацию для 32 бита (ее же и подсовывать по умолчанию).</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>