LINUX.ORG.RU

Сообщения I-Love-Microsoft

 

Получить rowid результата

Форум — Development

Используя функции sqlite3_prepare_v2 + sqlite3_step можно получать раз за разом всё новые строки (row), и получать значения разных столбцов при помощи например sqlite3_column_int.

Что если я добавлю myrowid integer primary key autoincrement, то я смогу через sqlite3_column_int получать myrowid без проблем.

Но ведь у БД уже есть вшитый rowid скрытый. Как его получить? Не могу найти соответствующую функцию в API SQLite3, хотя уверен что такая информация для каждого row у БД точно есть, осталось ее выцепить оттуда. Не вижу sqlite3_get_row_id(sqlite3_stmt *...

 , , ,

I-Love-Microsoft
()

Аналог функций __I8LS/M/RS/FDU87

Форум — Development

Пытаюсь собрать при помощи OpenWatcom 1.9 БД SQLite последней версии. Так как платформа не поддерживаемая (QNX 4.25), то путем несложных модификаций исходного кода, мне удалось заставить это всё компилироваться (в форме amalgamation, где мало файлов).

Удача что удалось OW 1.9 накрутить до поддержки QNX 4.25, всё в принципе собирает.

Успешно проходит компиляция SQLite 3.27.1. Проблема возникает на линковке:

undefined symbol __I8LS __I8M __U8LS __U8RS __I8RS
На данном сайте объясняется что делать для того, чтобы ее устранить: http://forum.kpda.ru/index.php/topic,316.0.html Однако собрать по инструкции мне так и не удается.

Вопрос: знакома ли вам такая проблема? Я так понимаю это ускоренные версии этих «функций умножения, деления и сдвига», где за один такт делается N одинаковых операций. Не вижу, чтобы это вызывалось в коде непосредственно. Значит это тянет сам компилятор.

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

Можно ли вообще какими-то опциями отключить такие ускоряшки? Это не GCC, а Open Watcom, но может подобные настройки есть у обоих? Ведь другие простые программы собираются без такой ошибки, значит какое-то действие приводит к их задействованию, но какое из десятков тысяч строк кода мне не ясно...

 , , qnx4,

I-Love-Microsoft
()

Простой пример работы с Nuklear GUI через буфер памяти

Форум — Development

Есть такая вот библиотека Nuklear (https://github.com/vurtun/nuklear). Если бы не ограничения платформы (UNIX-подобная, но не Linux), взял бы что покруче - прежде всего Qt или libui. Но вот судьба навела меня на Nuklear. Стал разбираться:

Есть простой пример. Первая же функция и затык:

nk_init_fixed(&ctx, calloc(1, MAX_MEMORY), MAX_MEMORY, &font);
Библиотека поддерживает встроенный некий дефолтный шрифт, а оно с какого-то перепуга требует некий font. Поставляемые примеры все как один не проясняют работу с этой функцией, которая позволяет рисоваться в области памяти. Пример тупо нет, откуда брать font не ясно - он будто из воздуха там возникает.

Есть NK_INCLUDE_DEFAULT_FONT Defining this adds the default font: ProggyClean.ttf into this library which can be loaded into a font atlas and allows using this library without having a truetype font. Но это не устраняет хотение font-а функцией nk_init_fixed.

Это скорее не вопрос - поделитесь примерами советами как этот мопед завести? Если сам разберусь раньше - конечно же напишу решение тут.

 , ,

I-Love-Microsoft
()

QNX 4.25 как осовременить?

Форум — Development

По целому ряду совершенно непреодолимых обстоятельств, приходится работать с QNX 4.25 с этим засохшим продуктом мамонта. Там старый софт, там нет Qt, многого нет, но сама ОС сеть последовательные порты и даже NFS - работают, большего там и не надо.

Так как средства разработки в этой ОС отстали лет на 25, то хочется привнести в нее современное, современное GUI, может современный софт и библиотеки.

Первое с чего хотелось бы начать - это GUI. Пусть это GUI будет рисовать свой интерфейс прямо в память, пусть оно будет на языке Си так, что можно собрать компилятором 20-25-летней давности. А я уже мог бы вываливать битмап прямо в эту простую форму с одной рисовальной поверхностью, да передавать события мышки и клавиатуру в ответ. Почему не напрямую? Потому что надо оставаться в рамках древнего Photon GUI, а любая современная GUI либа точно подобное поддерживать не будет. Существуют ли такие библиотеки? libui требуется cmake 3.1+ и наверное современный компилятор, если только первое ограничение нельзя обойти. Можно что-то для микроконтроллеров посмотреть, наверное, у кого что на примете есть?

Еще более радикальный шаг - обернуть сразу множество современных библиотек на C++ - и вывалить в некое виртуальное окружение эмулятор типа QEMU, но соберется ли? Может получится упаковать в бинарь, который крутит чуть ли не целый экземпляр ОС типа Linux. На эту мысль меня натолкнули масса примеров как QEMU и многих других проектов засовывали в браузер поверх JavaScript, так быть может и тут можно аналогично поступить - засунуть на некую платформу, которую легко портировать, пусть это будет исполнялка байт-кода и работает в 5 раз медленее чем bare metal.

 , ,

I-Love-Microsoft
()

Не открывает последовательный порт - access denied

Форум — Development

Есть программа на Qt5 и на Linux она работает великолепно и стабильно. На богомезком офтопе простейший последовательный порт через QSerialPort работает вроде нормально. Но как только я пытаюсь встроить работу с портом используя прости господи win api - программы отказываются открывать порт по имени:

CreateFile(L"\\\\.\\COM4", ...
Не хочет. Такие имена тоже не признает:
\\Device\\ProlificSerial0
\\Device\\Silabser0d"
А ведь их мне выдает QueryDosDevice.

Так вот, как только я запускаю нативный С++ код win api он выдает ошибку 5 - access denied. Я пытаюсь встроить работу с портом в приложение с Unreal Engine 4.

После запуска в рамках приложение UE4 программа на Qt5 и QSerialPort тоже прекращает работать и при попытках открыть порт вещает: ERROR: can't open port «COM4» «Отказано в доступе.»

Что делать? Заказчик согласился в скором времени перейти на Linux, благо UE4 на Linux я собрать смог. Но чтобы Linux победил в этой фирме - сначала нужно чтобы заработало в оффтопе. Помогите, пожалуйста, кто знает как с этим бороться? Что я делаю не так, какие права не выставляю? Запускаю же под админом - ну что может быть ацесснее?

Почему не винфак? Я нигде не шляюсь по виндовым ресурсам, увы, не знаю даже где вопрос задать. Просто хочу чтобы уважаемая публика видела насколько мерзкая эта платформа офтоп10, и вообще офтоп как таковой. Я пишу в 99% случаев кроссплатформенные программы и за рамки Qt5 мне редко приходится выходить, и добрый Qt оберегает мою психику от всех ужасов и недостаткой форточной платформы.

Добавлено: потыкался с QSerialPort - можно хоть сто раз загружать программу и порт всегда нормально открывается. Т.е. Qt5 действительно корректно работает и позволяет обращаться по именами «старого стиля» типа COM4. Первое же обращение через CreateFile и всё - бобик сдох.

 ,

I-Love-Microsoft
()

UE4 выдает невнтятное описание ошибки в UE4Editor

Форум — Development

Версия 4.20.3. Когда собираю .so со своими C++ классами для этого движка, если там какая-то ошибка - сразу шлет в лог, в логе указание файл текстового лога, и наконец уже в последнем говорится что при сборке модуля бла бла было исключение. И всё. Где же смотреть подробные сведения об ошибке, что именно не собралось, в какой букве ошибуля?

Как получить внятное объяснение о причине не-сборки модуля?

Есть вариант собирать через Qt Creator эту либу, но хотел бы сначала попытаться так. Если это продолжит вызывать попаболь, тогда придется перейти на Qt Creator, и спокойно подключать библиотеки и свои классы и так далее. Но пока хочется остаться в UE4Editor для этого.

 ,

I-Love-Microsoft
()

Есть видео на RPi3B но нет на RPi3CM Lite

Форум — Linux-hardware

Есть два устройства. Одно Raspberry Pi 3 Model B и к нему подключается сенсор MIPI CSI-2 - захват фото и видео работает как надо.

Есть еще Raspberry Pi Compute Module 3 Lite, и оно втыкается в самодельную материнскую плату. Разъем такой же 15-ти контактный.

Сенсор «RPi Camera (D), Камера для Raspberry Pi Model B+/2/3», шлейф 15 контактов.

Обе платы работают с одной флэшки, консоль у обоих по UART. Процессоры одинаковые, софт одинаковых (по очереди перетыкаю одну и ту же флэшку). Только вот на первой захват фото и видео работает, а на второй даже не определяется.

Я тщательно прозвонил шлейф прямо у сенсора - все контакты 100% рабочие, все линии есть, порядок и полярность дифф пар не перепутана. Ну почему оно может не работать??? Я уже все идеи перепробовал.

Как можно отладить связь с сенсором. Что с ним не так, в какой степени он не работоспособен, на каком моменте затык?

Сначала я неверно втыкал шлейф, но он ведь лишь с одной стороны имеет проводящие контакты и спалить это не могло, ведь сенсор продолжает работать. Входы Raspberry CM тоже это бы не спалило - шлейф не той стороной - значит считай ничего не подключено.

 ,

I-Love-Microsoft
()

Расстояние между словами

Форум — Desktop

У меня LibreOffice 4.2. Как в нем сделать так, чтобы пробелы между словами были двойными? Не то чтобы их два было, а просто увеличенные. Допустим, не «пример текста с пробелами» а вот так: «пример текста с пробелами»? Причем внутри слов интервалы между буквами должны оставаться как есть, хотя их я нашел как увеличивать - тоже нужно.

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

Готов поставить самую последнюю версию и даже из гита собрать, если в новой какой-то версии это уже поддерживается.

 

I-Love-Microsoft
()

RPI3CM материнская плата - где у нее консоль?

Форум — Linux-hardware

Есть RPi3 Compute Module (не Lite). Но... материнская плата у меня собственной разводки. Есть USB Host разъем, есть и micro-usb как на оригинале. Определяется в системе как BCM 2710 Boot. Причем как при Boot enable так и при disable (сделано аналогично - джампер выбора).

HDMI нету, нет и Ethernet выхода. Так бы я увидел на мониторе и подключил клаву. Был бы Ethernet - зашел бы через ssh туда.

Ничего этого нет - как мне туда зайти? Где негроконцоль???

Я могу исхитриться припаяться к SO-DIMM разъему, хотя там наноразмерные выводы и площадки. Могу - но куда?

Задача/вопрос: как получить консоль на RPi Compute Module без Ethernet и HDMI?

 compute module,

I-Love-Microsoft
()

Не даются исходники UnrealEngine на гитхабе

Форум — Development

Есть аккаунт Epic Games, есть на GitHub, всё как положено по инструкциям привязано, связано, почта подтверждена и тому подобное. Но код не дают! При попытке открыть: https://github.com/EpicGames/UnrealEngine выдает 404.

Кто работал с этим движком, были ли проблемы с получением кода? А может есть альтернативные источники?

На винде тот еще гемор, по цепочке всяких вижуалстудий дотнетов дошло до того, что придется обновлять 7 до 10. Так что лучше бы пока на Linux запустить что надо.

 , ,

I-Love-Microsoft
()

Bitbucket перестал работать из-за TLS

Форум — Development

Несколько недель они грозили отключить старые версии TLS, ну откуда я знал что это значит. А сейчас вот какое попадалово:

hg push
...
прервано: ошибка: _ssl.c:510: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

Что делать? Как использовать новую версию? Обновлять SSLьные либы? Обновлять просто сам Mercurial? Что делать? Алярма!

 , ,

I-Love-Microsoft
()

Запретить доступ к about:addons

Форум — General

Можно ли в firefox настроить так, чтобы он не позволял открывать вкладку about:addons? Чтобы нельзя было напрямую отключить кое какое дополнение.

 ,

I-Love-Microsoft
()

Нужна любая платка с видеовходом MIPI CSI-2

Форум — Linux-hardware

Есть ли у кого на примете платка, в которой гарантировано есть MIPI CSI-2 интерфейс для ввода видео? Не могу понять, пишут про CSI, но это параллельный вход. На RPI 3MB тоже есть CSI, но я понимаю что это опять же параллельный. На самых крутых Banana Pi тоже CSI параллельный судя по распиновкам. Но может я плохо смотрел?

MIPI CSI-2 это дифференциальный последовательный интерфейс, где буквально от 1 до 4 или 5 дифференциальных пар для линий данных + дифф клок.

 , ,

I-Love-Microsoft
()

Реалистичная сетевая карта в Docker

Форум — Admin

Есть некий софт, который требует реалистичной сетевой карты. В виртуальной машине Virtual Box этот софт работает, а если там вырубить сетевую карту, то софт падает (аварийно, ошибка сегментирования). Также, если для VB сетевухи задать нулевой MAC адрес - падение с той же ошибкой.

Так вот, в Docker есть сетевой интерфейс. Сеть как таковая через него работает, а софт падает с точно такой же ошибкой, как и внутри Virtual Box с отключенной сетевой картой.

Первая мысль - что-то не так с сетевой картой Docker. Так и есть - был нулевой MAC-адрес. Когда задали ненулевой MAC адрес через командную строку при запуске Docker, то всё равно падает.

Вопрос: что можно попробовать еще, чтобы сделать сетевую карту в Docket «еще реалистичнее». Просто не знаю, что с ней может быть не так, что даже задав MAC адрес, софт, который требуется сетевую карту, падает. При том что Virtual Box приходится софту по вкусу.

P.S. Нужно запустить Quartus 17.* Lite (бесплатный) в среде Docker.

 ,

I-Love-Microsoft
()

Функции, видимые только локально в модуле

Форум — Development

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

 , ,

I-Love-Microsoft
()

создать и записать переменную по имени

Форум — Development

Вот есть всякие types.SimpleNamespace() и прочие NamedTuple. И у них из строки может появиться переменная, доступная через точку, например test.newvar = 3

А как самостоятельно добавить переменную, имя которой задано строкой? Поясню что хочу:

import types
p = types.SimpleNamespace()
p.test = 123 # верно
p.add_var("varname", 0) # не знаю как это сделать
def meow(p):
    p.test += 1
    p.varname += 1
meow(p)
т.е. внутри функции, я ожидаю, что и test и varname существуют.

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

 ,

I-Love-Microsoft
()

Отладить утечку памяти на стыке Python и бинарной программы

Форум — Development

Использую фреймворк Cocotb для написания тестовых окружений для HDL-проектов. Симулятор Modelsim Altera Starter Edition (бесплатный). При использовании симулятора IcarusVerilog+Python3+Cocotb потребление памяти в норме, однако в связке Modelsim+Python3+Cocotb наблюдается лютая утечка памяти. Связь через VPI интерфейс.

Как отладить утечку памяти в такой связке? Причем Python часть я смотрел при помощи dowser профилировщика памяти и там всё в норме, вероятно. Отсюда делаю вывод что течет сам Modelsim в такой связке, что-то работает или используется не так (код не мой). Либо течет в коде, который связывает Python + VPI, который при запуске компилируется в библиотеку *.so

Чистые тесты на System Verilog не приводят к потере памяти на Modelsim.

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

Но больше я подозреваю именно библиотеку, которая формируется для связки VPI + Python из состава Cocotb. Можно ли как-то отладить проблемы памяти тогда, если у основной программы нет отладочных символов, а у библиотеки, которую она загружает динамически - такие символы есть?

 , modelsim, ,

I-Love-Microsoft
()

Все программы режут разрешение

Форум — Mobile

У меня телефон с 480x320 экраном, и меня он устраивает. Но вот странная проблема, какие ни пробовал программы для чтения манги, все они режут качество изображения и это не похоже на «бесплатные ухудшенные версии». Подозреваю что дело в разрешении, под которое они так идиотски подстраиваются, непрошенно.

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

Самая удачная программа MangaZone, но и она так же режет разрешение страниц.

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

 , ,

I-Love-Microsoft
()

Как рисовать объемные графики

Форум — Development

Нужно на Python 3 нарисовать данные по типу таких, для начала без прозрачностей: https://www.tecplot.com/wp-content/gallery/3d-plots/tecplot_3d_cfd_fluid_blow...

Есть ли такие библиотеки. Вот представленная на этой картинке - проприетарная штука, управляется через Python. А на халяву есть?

 ,

I-Love-Microsoft
()

QTableWidget - ячейка на несколько столбцов

Форум — Development

Есть QTableWidget, допустим есть 15 столбцов. Следовательно, каждая новая строка порождает 15 клеточек.

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

Гугл и Яндекс смотрят на меня круглыми глазами, и не понимают чо мне надо. Даже не представляю как сформулировать такой вопрос на аглицком.

 ,

I-Love-Microsoft
()

RSS подписка на новые темы