nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Apr 2024 00:53



Reply to topic  [ 235 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 16  Next
а не замутить ли нам недосимулятр? 
Author Message
Senior

Joined: 07 Aug 2006 10:18
Posts: 185
Reply with quote
Post 
От tinyxml2 тоже надо отказываться, так же как и от CEDAR'ского парсера xml. Что за идиотизм писать парсеры которые тупо роняют программу столкнувшись с кривым синтаксисом на входе? Если бы мне нужен был парсер так себя ведущий, то я бы совершенно точно написал бы парсер вручную, и он бы стопудов работал бы быстрее tinyxml2, как бы там авторы не выпендривались оптимизируя то, что оптимизации не требует по-определению.
Вот ведь, а? И при этом, исходный xml парсер, при всей кривизне его API и уменю падать был всё же лучше. Потому что он, когда оказывался несогласным с синтаксисом, в ужасе падал, наводя такого шороху, что не заметить его падение было невозможно.
А долбаный tinyxml2 вместо того, чтобы с героическим грохотом свалиться, тихонько сдыхал в каком-то безвестном уголке. Я так и не понял каким образом. gdb не замечал ничего, пока процесс не завершался. grep по коду tinyxml2 не показал никаких throw. Когда же я повесил бряк на exit, то бряк сработал, но на стеке было всего лишь три фрейма: exit, и ещё два, которые вообще-то должны быть ниже main. Как собственно такое могло случится не очень понятно. Вот ведь сука а? Столько времени об него убил.

Короче вывод можно делать один: в C++ не стоит полагаться на работоспособность маленьких и заточенных на конкретную задачу библиотек. Собственно этот вывод можно было сделать и раньше: я некоторое время развлекался тролля C++-программистов, на разные темы, и они не раз и не два принимались убеждать меня в том, что качественный C++ код может писать лишь профессионал со стажем программирования на C++ от трёх лет. А такие, как я понимаю, не пишут маленьких и заточенных на конкретную задачу библиотек.

Буду значит переписывать всё связанное с xml на libxml++: в ней, как я понимаю, реально рабочего кода нету, лишь бинды к libxml2, а libxml2 написана на C и поэтому не может не работать. И там есть SAX парсер. Правда не очень понятно как хорошо, красиво и удобно использовать SAX парсер не имея в языке лексических замыканий... Хотя, говорят, что в новом C++11 есть что-то типа замыканий. Но C++11 будет совершенно точно несовместим к lavr'овским билдером 5.0. =)


19 Aug 2012 12:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
bar wrote:
Но C++11 будет совершенно точно несовместим к lavr'овским билдером 5.0. =)

Да ладно прикалывать-то... :lol: Я C++ освоил, как раз чтобы писать DLL-ки,
поскольку в Венде некоторые задачи без DLL никак не решить...

И лишь потом убедился, что и небольшого размера программу я на C++ слепить могу.

Ну и поскольку я этому тогда учился, вот и приходилось решения, приводимые
авторами на разных версиях C++ подгонять под свой Билдер 5.0 ...
Он вовсе даже неплох... хотя конечно же - устарел... :oops:

_________________
iLavr


19 Aug 2012 13:15
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
Гипотетический вопрос.

А что, если взять готовый кроссплатформенный редактор схем (на жабе?), который сохраняет схему в формате, понятном для разбора и симуляции, а симуляцию сделать отдельной программой, которая будет считывать схему и симулировать её?

Вопрос больше в том, какой редактор наиболее подошёл бы в этом случае.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


20 Aug 2012 05:19
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Вопрос больше в том, какой редактор наиболее подошёл бы в этом случае.

И какой формат?...

Вобще-то для обмена схемами считается удобным иметь в программах симуляции
схем опцию экспорта в SPICE.
Поскольку он считается в некотором роде стандартом.

И есть ли смысл выдумывать новый велосипед?
Для себя программа может сохранять проект в удобном своём формате,
а в SPICE-формате можно втащить разработку по крайней мере в распространенные
пакеты моделирования EWB (Multisim), Proteus и др.

_________________
iLavr


20 Aug 2012 07:26
Profile
Senior

Joined: 07 Aug 2006 10:18
Posts: 185
Reply with quote
Post 
b2m wrote:
Гипотетический вопрос.

А что, если взять готовый кроссплатформенный редактор схем (на жабе?), который сохраняет схему в формате, понятном для разбора и симуляции, а симуляцию сделать отдельной программой, которая будет считывать схему и симулировать её?

Это не по-пионерски. =)

b2m wrote:
Вопрос больше в том, какой редактор наиболее подошёл бы в этом случае.

Взять logisim и приделать к нему симулятор от CEDAR Logic. Оно конечно придётся повозиться, но, вероятно, всё же меньше чем с переписыванием гуя целиком. Но проще в Logisim засунуть модельку Z80, переписав с C++ на Java. Точнее не проще, а перспективнее: можно будет надеятся, что эта моделька Z80 будет включена в Logisim и начнёт жить самостоятельной жизнью, не требуя от нас никаких усилий по затачиванию её на всё новые и новые версии Logisim'а.

Но я как то уже нацелился на переписывание гуя (вообще у меня есть мысли и симулятор переписать, но пока столь неопределённые и отдалённые, что лучше наверное молчать об этом в тряпочку). И я скорее перепишу гуй, чем поставлю в систему жабу. Ну не люблю я её: интерпретируемый язык, сборка мусора, там есть всё, что надо для полноценного динамического языка, но возможности Java на уровне компилируемого C++ и даже ниже.


20 Aug 2012 07:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
bar wrote:
И я скорее перепишу гуй, чем поставлю в систему жабу. Ну не люблю я её: интерпретируемый язык, сборка мусора, там есть всё, что надо для полноценного динамического языка, но возможности Java на уровне компилируемого C++ и даже ниже.

Полностью согласен! И сам жабу не люблю - но жизнь заставила...
Для сотовых телефонов кроме J2ME - ничего другого нет. :(

Но у нас-то нет этого ограничения!
Опять же - да, жаба - интерпретатор, и не факт что прямо безусловно кроссплатформенна.
С примерами мы уже и тут на форуме сталкивались.

Вот экспорт в SPICE добавить бы неплохо, чтобы симулятор не остался вещью в себе.

_________________
iLavr


20 Aug 2012 07:39
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22530
Location: Silicon Valley
Reply with quote
Post 
имхо SPICE это для аналоговых схем - нафига нам аналоговые схемы?...

_________________
:dj: https://mastodon.social/@Shaos


20 Aug 2012 09:34
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
имхо SPICE это для аналоговых схем - нафига нам аналоговые схемы?...

Да неужели? :o Shame on you! :wink: Неверное у тебя "имхо"... :-?

Image

Code:
****** c:\ewb\shems_old\rs_ttl\rs_trig_.ewb ******
*  Interactive Image Technologies                *
*                                                *
*  This File was created by:                     *
*    Electronics Workbench to SPICE netlist      *
*    conversion DLL                              *
*                                                *
*  Mon Aug 20 21:07:37 2012                      *
**************************************************

* Resistor(s)
*
R1 14 3 1K
*
R2 15 3 1K

* Connector(s)
* node = 4, label =
* node = 2, label = /S
* node = 3, label = /R
* node = 0, label =
* node = 1, label =

* +Vcc Voltage Source(s)
*
V5V_U9 3 0 DC 5

* 2-Input NAND Gate(s)
*
UNAND_U4 NAND(2) $G_DPWR $G_DGND 0 14 12 T_GATE_ttl_LS IO_STD
*
UNAND_U5 NAND(2) $G_DPWR $G_DGND 15 12 0 T_GATE_ttl_LS IO_STD

* Red Probe(s)
* red Q
.PROBE D(PrbR0)
UPrbR_U6 BUF $G_DPWR $G_DGND 0 PrbR0 D0_GATE IO_STD

* Blue Probe(s)
* blue /Q
.PROBE D(PrbB12)
UPrbB_U8 BUF $G_DPWR $G_DGND 12 PrbB12 D0_GATE IO_STD

* Misc
.MODEL T_GATE_ttl_LS UGATE
+ ( TPLHMN=10n TPLHTY=10n TPLHMX=10n
+   TPHLMN=10n TPHLTY=10n TPHLMX=10n )
.LIB

.OPTIONS ITL4=250 METHOD=GEAR
.END


У SPICE есть, конечно, некоторые ограничения, но как ни крути,
его принимают за стандарт...

_________________
iLavr


20 Aug 2012 10:23
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22530
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
имхо SPICE это для аналоговых схем - нафига нам аналоговые схемы?...

Да неужели? :o Shame on you! :wink: Неверное у тебя "имхо"... :-?

Image

........

У SPICE есть, конечно, некоторые ограничения, но как ни крути,
его принимают за стандарт...


то что ты привёл легко покрывается и без притягивания за уши аналоговой составляющей - просто вводим третье состояние Z и таблица переходов блока "подтягивающий резистор" будет выглядеть следующим образом:
Code:
I|O
---
F|F
T|T
Z|T


точно также можно подтянуть на землю...

_________________
:dj: https://mastodon.social/@Shaos


20 Aug 2012 10:51
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22530
Location: Silicon Valley
Reply with quote
Post 
bar wrote:
качественный C++ код может писать лишь профессионал со стажем программирования на C++ от трёх лет


я бы даже сказал от пяти...

проблема не в квалификации индивидуума, а в том, что си с плюсами имеют много разных подводных камней и тонкостей, которые надо просто знать - и с ходу туда врубиться не получится (типа дайте мне спецификацию любого языка и я начну на нём программировать за 0 дней тут не пройдёт)

bar wrote:
Но я как то уже нацелился на переписывание гуя (вообще у меня есть мысли и симулятор переписать, но пока столь неопределённые и отдалённые, что лучше наверное молчать об этом в тряпочку).


ну то есть возвращаеся к тому же с чего и начали - а не замутить ли нам недосимулятр? :roll:

_________________
:dj: https://mastodon.social/@Shaos


20 Aug 2012 10:56
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
то что ты привёл легко покрывается и без притягивания за уши аналоговой составляющей - просто вводим третье состояние Z и таблица переходов блока "подтягивающий резистор" будет выглядеть следующим образом:
Code:
I|O
---
F|F
T|T
Z|T


точно также можно подтянуть на землю...

А зачем мне эта ненужная ботва? Я тебе привел пример, что формат данных
SPICE - это не только для аналоговых схем
, как считал ты.

А для чего ты мне излагаешь всю эту бодягу про "третье состояние Z и таблицу
переходов
", я просто не представляю... :o

Если ты что-то хочешь делать по-своему - делай, но это никак не влияет
на формат данных SPICE... :-?

_________________
iLavr


20 Aug 2012 11:03
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22530
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
то что ты привёл легко покрывается и без притягивания за уши аналоговой составляющей - просто вводим третье состояние Z и таблица переходов блока "подтягивающий резистор" будет выглядеть следующим образом:
Code:
I|O
---
F|F
T|T
Z|T


точно также можно подтянуть на землю...

А зачем мне эта ненужная ботва? Я тебе привел пример, что формат данных
SPICE - это не только для аналоговых схем
, как считал ты.

А для чего ты мне излагаешь всю эту бодягу про "третье состояние Z и таблицу
переходов
", я просто не представляю... :o

Если ты что-то хочешь делать по-своему - делай, но это никак не влияет
на формат данных SPICE... :-?


ну можно и микроскопом гвозди заколачивать, вот только зачем? ;)

повторю вопрос: если мы берёмся делать симулятор цифровых схем, то нафигали нам SPICE?

кнопки и подтягивающие резисторы отпали - что ещё?

_________________
:dj: https://mastodon.social/@Shaos


20 Aug 2012 11:06
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
ну можно и микроскопом гвозди заколачивать, вот только зачем? ;)

повторю вопрос: если мы берёмся делать симулятор цифровых схем, то нафигали нам SPICE?

кнопки и подтягивающие резисторы отпали - что ещё?


Я что-то тебя не понимаю, либо ты не читал топик выше... :(

Я предложил иметь возможность сохранять проект в формате данных SPICE
в ответ на предложение b2m :
b2m wrote:
А что, если взять готовый кроссплатформенный редактор схем (на жабе?), который сохраняет схему в формате, понятном для разбора и симуляции, а симуляцию сделать отдельной программой, которая будет считывать схему и симулировать её?

Lavr wrote:
...для обмена схемами считается удобным иметь в программах симуляции
схем опцию экспорта в SPICE.
Поскольку он считается в некотором роде стандартом.

И есть ли смысл выдумывать новый велосипед?
Для себя программа может сохранять проект в удобном своём формате,
а в SPICE-формате можно втащить разработку по крайней мере в распространенные
пакеты моделирования EWB (Multisim), Proteus и др.

При чем тут какая-то хрень про "микроскоп и гвозди"? :o

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

_________________
iLavr


20 Aug 2012 11:28
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22530
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
ну можно и микроскопом гвозди заколачивать, вот только зачем? ;)

повторю вопрос: если мы берёмся делать симулятор цифровых схем, то нафигали нам SPICE?

кнопки и подтягивающие резисторы отпали - что ещё?


Я что-то тебя не понимаю, либо ты не читал топик выше... :(

Я предложил иметь возможность сохранять проект в формате данных SPICE
в ответ на предложение b2m :
b2m wrote:
А что, если взять готовый кроссплатформенный редактор схем (на жабе?), который сохраняет схему в формате, понятном для разбора и симуляции, а симуляцию сделать отдельной программой, которая будет считывать схему и симулировать её?

Lavr wrote:
...для обмена схемами считается удобным иметь в программах симуляции
схем опцию экспорта в SPICE.
Поскольку он считается в некотором роде стандартом.

И есть ли смысл выдумывать новый велосипед?
Для себя программа может сохранять проект в удобном своём формате,
а в SPICE-формате можно втащить разработку по крайней мере в распространенные
пакеты моделирования EWB (Multisim), Proteus и др.

При чем тут какая-то хрень про "микроскоп и гвозди"? :o

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


ну например формат файла Logisim вполне понятен и теоретически может быть поддержан :)

про микроскоп и гвозди - SPICE это микроскоп, а симуляция чисто цифровых схем - это гвозди, которым нужен на порядок более простой формат и более упрощённая (и быстрая) симуляция

по аналогии я бы мог тебе предложить сохранять для имитации аналоговых схем точное описание поведения каждого электрона в схеме - теоретически это сделать можно, но нецелесообразно :)

p.s. могу предположить что реализация формата SPICE от разных софтоклепателей отличается настолько, что SPICE-программы могут быть непереносимы или частично непереносими между разными программными продуктами - вот ты лично сталкивался с проблемами переноса SPICE?

_________________
:dj: https://mastodon.social/@Shaos


20 Aug 2012 11:46
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
ну например формат файла Logisim вполне понятен и теоретически может быть поддержан :)

про микроскоп и гвозди - SPICE это микроскоп, а симуляция чисто цифровых схем - это гвозди, которым нужен на порядок более простой формат и более упрощённая (и быстрая) симуляция

по аналогии я бы мог тебе предложить сохранять для имитации аналоговых схем точное описание поведения каждого электрона в схеме - теоретически это сделать можно, но нецелесообразно :)

p.s. могу предположить что реализация формата SPICE от разных софтоклепателей отличается настолько, что SPICE-программы могут быть непереносимы или частично непереносими между разными программными продуктами - вот ты лично сталкивался с проблемами переноса SPICE?

Формат файла Logisim не совместим ни с чем кроме самого Logisim-а.
Его не поддержит ни один распространенный пакет эмуляции.

Про "точное описание поведения каждого электрона в схеме " ты морозишь глупость.
SPICE - это промышленный стандарт, и поддерживать его производители
специфического ПО считают целесообразным, и, заметь, их совершенно
не волнует твоё личное мнение. :wink:

С переносом данных проекта в формате SPICE я безусловно сталкивался -
это работает - иначе я бы не предлагал.
Проблем особых я там не увидел. По крайней мере всё, что работает на основе
SPICE - вполне успешно обменивается файлами в этом формате.

_________________
iLavr


20 Aug 2012 12:01
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 235 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 16  Next

Who is online

Users browsing this forum: No registered users and 32 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.