LINUX.ORG.RU

Сообщения DavidBejenar

 

ASSEMBLER.Помогите решить задание.

Форум — General

Объяснить что необходимо сделать чтобы выполнить оператцию ST (R0),(R4). Написать значение контрольных битов для каждого шага.

 

DavidBejenar
()

Ошибка при импорте функций с dll в python

Форум — Development

Всем огромный привет.Есть библиотека kekelele/python_j2534 под win которая импортирует некоторые функции из dll(сначала ищет в реестре если есть драйвер и вытягивает путь). Так вот при вытягивании с рестра проблем нет.

C:\Users\david\OneDrive\Desktop\python_j2534-master>python3 01_GetDevices.py

0 {‘Name’: ‘OpenPort 2.0 J2534 ISO/CAN/VPW/PWM’, ‘FunctionLibrary’: ‘C:\Windows\SysWOW64\op20pt32.dll’}

А уже при импотре с не уже что то начинается.

C:\Users\david\OneDrive\Desktop\python_j2534-master>python3 02_ReadVersion.py

Could not find module ‘op20pt32.dll’ (or one of its dependencies). Try using the full path with constructor syntax. Could be a missing dependancy dll for ‘op20pt32.dll’. (Directory for dll: ‘C:\Windows\SysWOW64\op20pt32.dll’)

Вот код что выполняется: 02_ReadVersion.py

Спотыкается вот тут : строка 19 J2534.setDevice(index)

 

DavidBejenar
()

Как влючить вывод лога динамической библиотеки?

Форум — Development

Собственно есть динамическая библиотека которую собралл с исходников j2534.so.В ней есть возможность включить вывод лога но за неимением знаний и незнанием языка я не понимаю как это сделать.

Ссылка на исходники GitHub NikolaKozina/j2534

Вот что пишет в j2534.с:

«To enable runtime debug logging to the file /tmp/op.log, create an environment variable with the name LOG_ENABLE and set it to a non-zero value.»

У меня есть некая программа которая подключает .so библиотеку с помощью dlopen и вытягивает функции.

#include <stdio.h>
#include <stdlib.h>   
#include <dlfcn.h>


long unsigned int* pDeviceID;
void *dlopen (const char *filename, int flag);
void *library_handler;
long(*PassThruOpen)(const void* , unsigned long*);
char *error;

int main(void)                 // определяем функцию main

{

if (!library_handler){
//если ошибка, то вывести ее на экран
fprintf(stderr,"dlopen() error: %s\n", dlerror());
 // в случае ошибки можно, например, закончить работу программы
};

PassThruOpen = (long (*)(const void* , unsigned long*)) dlsym(library_handler, "PassThruOpen");

error = dlerror();

if (error != NULL) {
    fprintf(stderr, "%s\n", error);
}

PassThruOpen(NULL,pDeviceID);

printf("OK!");                 // выводим строку на консоль
return 0;                     // выходим из функции

}

Но как через нё включить вывод лога не понмаю(

 ,

DavidBejenar
()

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