Использование функций С в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Использование функций С в Lazarus

Сообщение alexmai » 24.02.2009 15:12:44

Есть динамическая библиотека libiks483.so.0 для ЭККР IKC -260T и заголовочный файл libiks483.h с описанием функций
как мне использовать эту библиотеку а Lazarus вот пример на C

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
#include "libiks483.h"

int main()
{
int fd;
uchar buff[BUFSIZE];
int errcode, len, i;
unsigned int sum;

fd = FPInit(PORTNUM, B9600, TIMEOUT);
if (fd == -1) {
printf("open port failed\n");
return(1);
}
len = FPGetDate(buff);
printf("mm: %x dd: %x yy: %x\n",buff[0],buff[1],buff[2]);

len=FPAvans(100);
len=FPGive(11);
len=FPComment("HELLO,WORLD",1);
len=FPDiscount(0,1000,1,"");
len=FPPayment(3,15000,1,"");
len=FPArtXReport(0);
FPClose();
}
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Использование функций С в Lazarus

Сообщение Иван Шихалев » 24.02.2009 15:19:32

Есть такая утилитка h2pas. Если ошибки, надо разбираться конкретней.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Использование функций С в Lazarus

Сообщение alexmai » 24.02.2009 16:11:32

Иван Шихалев писал(а):Есть такая утилитка h2pas. Если ошибки, надо разбираться конкретней.

а можно болеемногословный ответ, типа какое расширение должно быть у выходного файла, как прописать библиотеку и полученый аналог хидер файла ,
что обозначают параметры
Usage : D:\install\EKK\libiks483-1.03\libiks483-1.03\example\h2pas.exe [options] filename
Where [options] is one or more of:
-d Use external;
-D use external libname name 'func_name';
-e change enum type to list of constants
-c Compact outputmode, less spaces and empty lines
-C Use types in ctypes unit
-i create include files (no unit header)
-l libname Specify the library name for external
-o outputfilename Specify the outputfilename
-p Use "P" instead of "^" for pointers
-pr Pack all records (1 byte alignment)
-P use proc. vars for imports
-s strip comments from inputfile
-S strip comments and don't write info to outputfile.
-t Prepend typedef type names with T
-T Prepend typedef type names with T, and remove _
-u unitname Specify the name of the unit.
-v replace pointer parameters by call by
reference parameters
-w special for win32 headers
-x handle SYS_TRAP of PalmOS header files

просто мне таким извращением не приходилось сталкиваться, а тут просто некуда деваться
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Использование функций С в Lazarus

Сообщение serg_iv » 24.02.2009 18:39:11

Года два назад сишную либу подключал, сначала нехотела со мной общаться, но потом все же ее удалось уговорить, единственное что прописал в вызове функций cdecl, и какая то переменная понималась только в виде variant.
Но это еще в винде было..
Попробуй подключи как обычную библиотеку.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru