LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

 , , ,


2

3

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

Это из-за того, что парсер инклюдов разворачивает всё (в том числе структуры и указатели) до примитивных типов. Если версия гтк отличается от моей - возможны отличия в анатомии структур и сегфолты из-за этого. Эта проблема будет решена, но позже.

11. Как выглядит факториал в графическом представлении?

Metaprog: универсальная графическая среда программирования [в разработке] (комментарий)

(пока что на Лабвью)

Примеры

Находятся в прошлых темах. Компилировать исходники нужно так:

gcc ./test.c -o ./test $(pkg-config --cflags --libs gtk+-3.0)

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Прототип чата:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Показывалка языка локализации через seltocale (кстати, у кого что показывает?)

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Прототип чата с прокруткой:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)



Последнее исправление: CYB3R (всего исправлений: 10)

Ответ на: комментарий от iluha16

говорят он мог визуально представить 12-мерное пространство из адронных теорий в то время как обычные учёные могли только писать формулы

Хммм, напрашивается аналогия с визуальным/текстовым программированием.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Владимир

Проще говоря сейчас вы разрабатываете прототип.
Имеет ли смысл доводить его до 100% реализации если все будет переписано с scratch?

anonymous
()
Ответ на: комментарий от anonymous

Да потому и недоделанный он. Мне прототип нужен только минимально необходимый для построения «настоящего» Метапрога.

metaprog
() автор топика
Ответ на: комментарий от Deleted

Как думаешь лучше делать сериализацию структур в текст? Через указатели на структуру или ее члены?

metaprog
() автор топика
Ответ на: комментарий от anonymous

Например, анонимные структуры (из-за которых варнинги и у некоторых даже сегфолты) из-за этого.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Невозможно сишные структуры просто так автоматически все превратить в текст нормально, так что хз.

Deleted
()
Ответ на: комментарий от metaprog

Владимир

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

anonymous
()
Ответ на: комментарий от metaprog

у некоторых даже сегфолты) из-за этого.

сегфолты не из-за этого, дятел. замени их на void * и никуда твои сегфолты не уйдут. Пока ты не оперируешь данными непосредственно в структурах, указатель у тебя указывает на то, что создают АПИ вызовы. Ты на столько днище, что даже ничего не понял. хотя подсказок тебе дали 100500.

anonymous
()
Ответ на: комментарий от metaprog

man realloc

Функция realloc() возвращает указатель на новую распределённую память, выровненную должным образом для любого встроенного типа. Возвращаемый указатель может отличаться от ptr, или равняться NULL, если запрос завершился с ошибкой. Если значение size было равно нулю, то возвращается либо NULL, либо указатель, который может быть передан free(). Если realloc() завершилась с ошибкой, то начальный блок памяти остаётся нетронутым: он не освобождается или перемещается.

Что из этого тебе не понятно?

XMs ★★★★★
()
Ответ на: комментарий от deadplace

очень зря не уделял. дело в том что уравнения описывающие движение адронов (экспериментально наблюдаемых в адронных коллайдерах) не имеют решений в пространстве 4 измерений. но они имеют решение в пространствах с размерностью начиная от 8 и до 23. предельным случаем таких пространств всегда является пространство 12 измерений. предполагается что наша вселенная является как раз такой в которой 8 измерений компактны (в смысле определения по мат.анализу).

iluha16
()
Ответ на: комментарий от XMs

Это понятно. Но там нет ответа на заданный мной вопрос по поводу копирования памяти при использовании этой функции. Кстати, спасибо за перевод. Руификатор манов?

metaprog
() автор топика
Ответ на: комментарий от metaprog

ПНХ, чмошник. Дурака учить - только портить. у посералы-котечки спроси, может это днище расскажет.

anonymous
()
Ответ на: комментарий от metaprog

segfaultы у тебя скорее всего что ты void* пытаешься манипулировать внутренностями gtk (которые от версии к версии меняются) вместо того что бы использовать задокументированный API.

PS. сам не компилировал, просто предположение, мне лень поднимать виртуалку

iluha16
()
Последнее исправление: iluha16 (всего исправлений: 1)
Ответ на: комментарий от metaprog

Но там нет ответа на заданный мной вопрос по поводу копирования памяти при использовании этой функции

Возвращаемый указатель может отличаться от ptr

Я надеюсь, ты понимаешь, чем может отличается от будет и от не будет.


Руификатор манов?

 app-i18n/man-pages-ru
     Доступные версии:      4.16.2383.2383.20180422{tbz2}
     Установленные версии:  4.16.2383.2383.20180422{tbz2}(02:31:57 08.11.2018)
     Домашняя страница:     http://man-pages-ru.sourceforge.net/
     Описание:              A collection of Russian translations of Linux manual pages
XMs ★★★★★
()
Ответ на: комментарий от metaprog

Владимир

Но об этом вы же ни кому не говорили ...
Вот и создается впечатление, что с разработкой «что-то не так».

Надеюсь вы делаете клон LabView не прибитый гвоздями лишь к
возможности генерации си кода.

anonymous
()
Ответ на: комментарий от iluha16

Компиляй на реалке:) Или виртуалку таки заводи, разве ты пройдешь мимо когда будет готов полноценный чатик? Желательно ставить Debian 10.

metaprog
() автор топика
Ответ на: комментарий от iluha16

segfaultы у тебя скорее всего что ты void* пытаешься манипулировать внутренностями gtk (которые от версии к версии меняются) вместо того что бы использовать задокументированный API.

Я это понял еще в начале 4 или 5 темы. Из-за анонимных структур, эта проблема будет рано или поздно решена введением неанонимных структур.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Владимир

Как-то собрал ядро Linux, которое весило менее 2MB /с использованием ранних дистрибутивов slackware/.
Потребность возникла вследствии необходимости использовать DX-33 с
4MB оперативной памяти в качестве терминалов - РАБОТАЛО все Ok! Грузилось в компы с использованием tftp /загрузчик был в flash карте/.

anonymous
()
Ответ на: комментарий от anonymous

собирал 1.5 M но рандомно висло примерно раз 2 дня

iluha16
()
Ответ на: комментарий от deadplace

Форматы должны быть любыми, нужен хороший интерфейс для сериализации, а вот как его построить?...

Deleted
()
Ответ на: комментарий от anonymous

ну я не знаю что ты имеешь ввиду вот собственно

ilya@www ~ $ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 107
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 5400+
stepping	: 2
cpu MHz		: 2800.015
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl cpuid extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall lbrv
bugs		: fxsave_leak sysret_ss_attrs null_seg swapgs_fence amd_e400 spectre_v1 spectre_v2
bogomips	: 5600.03
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 107
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 5400+
stepping	: 2
cpu MHz		: 2800.015
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl cpuid extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall lbrv
bugs		: fxsave_leak sysret_ss_attrs null_seg swapgs_fence amd_e400 spectre_v1 spectre_v2
bogomips	: 5599.64
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

ilya@www ~ $ 
iluha16
()
Ответ на: комментарий от Deleted

Владимир

Сериализация - для сериализаторов.
Имеется и другой путь - метадата база /в частности использования не самой базы, а ее API/.

anonymous
()

Одмины!!! Зобаньте норкоманоф!!! Оне тут люто сруть в ветку «девелопмент» своимЪ метапрогомЪ. Пусть лучше на завод идутъ пидры.

anonymous
()
Ответ на: комментарий от deadplace

Альтернативно, кгб может вырубать свет в каждом районе и смотреть, когда ты попадешь в оффлайн

а если ИБП?

iluha16
()
Ответ на: комментарий от anonymous

+1. К томуж анонiмус снова тут. Он интереснее этого днищеклована. анонiмус хоть понимает о чем говорит, в отличии от.

anonymous
()
Ответ на: комментарий от iluha16

Владимир

Вопрос был «На каком железе проверена работа ядра?».
Слышал об этом дистрибутиве но «не щупал».

anonymous
()
Ответ на: комментарий от anonymous

я уже не представляю жизни без темы про метапрог. тут так весело всегда. к хорошему быстро привыкаешь. снесёте тему с тоски помру))))

iluha16
()
Ответ на: комментарий от anonymous

на железе процессор указан выше, памяти 4,823 M. это не совсем дистр как бы просто сам собираешь ну да признаюсь честно хорошая инструкция есть без которой может и не осилил бы.

iluha16
()
Ответ на: комментарий от Deleted

Обычные данные - указатель, каст указателя в указатель на байт и получаем строку размером в sizeof.

Массив - сначала сериализированный размер (с поправкой на то, что массив байтов, если массив не байтов), потом каст в указатель на байт и сам массив байтов.

Структура - последовательность элементов, сериализированных по приведенному выше принципу.

Юнион - сериализация должна зависеть от нужного типа.

metaprog
() автор топика
Ответ на: комментарий от anonymous

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

iluha16
()
Ответ на: комментарий от metaprog

Главное правильно кастануть данные в бинарную строку, а дальше можно хоть в файл писать, хоть по сети передавать, хоть в base64 преобразовывать...

metaprog
() автор топика
Ответ на: комментарий от iluha16

Владимир

«Так чем лучше заняться батенька?» - «Разработкой».

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.