Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> h2xs и C::Scan, Парсинг с-исходников 
:(
    Опции темы
Sugar84
Дата 24.3.2011, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 24.5.2010

Репутация: нет
Всего: нет



Привет всем.

Столкнулся с такой проблемой.
 Есть исходники на C, это либа - клиент к работающему ПО, хочу написать модуль-обертку, чтобы иметь интерфейс к этому ПО из Perl. Понял мой путь - XS.

Немного покопав, нашел такой способ:
http://search.cpan.org/~rjbs/perl-5.12.3/u....h_and_.c_files

Делал все по инструкции, несколько раз, все разы получал такую ошибку:
Код

Expecting parenth after identifier in `size_t port'
after `size_t '


Это уже при при выполнении такой команды:
Код

h2xs -Oxan Ext::Ension header.h


Никто с такой ошибой не сталкивался?

Предположительно затык происходит в строке 27. Вот сам header-файл:
Код

#ifndef __VOICEMAN_VMCLIENT_H__
#define __VOICEMAN_VMCLIENT_H__

#ifdef __cplusplus 
#define EXTC extern "C"
#else
#define EXTC extern
#endif /* __cplusplus*/

#define VOICEMAN_LANG_NONE 0
#define VOICEMAN_LANG_ENG 1
#define VOICEMAN_LANG_RUS 2

#define VOICEMAN_PROCMODE_ALL 0
#define VOICEMAN_PROCMODE_SOME 1
#define VOICEMAN_PROCMODE_NONE 2

typedef int vm_connection_t;
#define VOICEMAN_BAD_CONNECTION (vm_connection_t)-1

typedef int vm_result_t;
#define VOICEMAN_ERROR (vm_result_t)-1
#define VOICEMAN_OK 0

EXTC vm_connection_t vm_connect();
EXTC vm_connection_t vm_connect_unix(char* path);
EXTC vm_connection_t vm_connect_inet(char* host, size_t port);
EXTC void vm_close(vm_connection_t con);
EXTC vm_result_t vm_text(vm_connection_t con, char* text); 
EXTC vm_result_t vm_stop(vm_connection_t con);
EXTC vm_result_t vm_letter(vm_connection_t con, char* letter);
EXTC vm_result_t vm_tone(vm_connection_t con, size_t freq, size_t lengthms);
EXTC vm_result_t vm_pitch(vm_connection_t con, unsigned char value);
EXTC vm_result_t vm_rate(vm_connection_t con, unsigned char value);
EXTC vm_result_t vm_volume(vm_connection_t con, unsigned char value);
EXTC vm_result_t vm_procmode(vm_connection_t con, unsigned char procmode);
EXTC vm_result_t vm_family(vm_connection_t con, unsigned char lang, char* family);

#endif /*__VOICEMAN_VMCLIENT_H__*/


Подскажите куда хоть копать, а то я не знаком ни с C, ни с XS.
Заранее благодарен.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.