Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
KuevProger
0 / 0 / 0
Регистрация: 24.03.2009
Сообщений: 11
1

Создание DLL в Borland C++ 3.1

21.09.2009, 06:56. Просмотров 1682. Ответов 2
Метки нет (Все метки)

Приветствую вас многоуважаемые прогеры!) У меня возникла проблема в написании драйвера для контроллера, проблема заключается в выподании ошибки линкера "linker error: undefined symbol libmain in module c0d.asm"

Код

 #include <dos.h>
#include <stdio.h>

long   *ad;
                      
typedef union
 {
  unsigned char c[6];
  unsigned short int i[3];
  } 
 IA;                         

                      
int RWH(unsigned short type, IA &ia, unsigned short *v)  //Прототип драйвера
{               
switch (type){
		case 0x8000: // Первый вызов драйвера
  				return 0;
		case 0x1000: // Последний вызов драйвера
				return 0;
		case 0x2000: // AI RWH & AO RWH инициализация
			     // Можно оставить код пустым или реализовать какие-либо алгоритмы
			     // например, инициализации платы УСО
				return 0;
		case 0x3000: // DI RWH & DO RWH Инициализация
			     // Можно оставить код пустым или реализовать какие-либо алгоритмы
			     // например, инициализации платы УСО
				return 0;
		case 0x4000: // AO RWH Обработка Аналогов - Выходы
			     // Считали адрес ia - в соответсвии с настройками послали в устройство значение v
				return 0;
		case 0x5000: // AI RWH Обработка Аналогов - Входы
			     // Считали адрес ia - в соответсвии с настройками считали из устройства значение и присвоили его в v
				return 0;
		case 0x6000: // DO RWH Обработка Дискретов - Выходы
			     // Считали адрес ia - в соответсвии с настройками послали в устройство значение v
				return 0;
		case 0x7000: // DI RWH Обработка Дискретов - Входы
			     // Считали адрес ia - в соответсвии с настройками послали в устройство значение v
				return 0;
		case 0xa000: // INPUT VOID_RWH - посылка значений в базу каналов
			     // управляя адресом ia посылаем новые значения в атрибуты каналов
				return 0;
		case 0xb000: // OUPUT VOID_RWH - чтение атрибутов из базы каналов
			     // управляя адресом ia считываем значения атрибутов каналов
          			return 0;
		}
return 0;
}

int main (void)
{
  union REGS inr;   
  ad=(long*)MK_FP(0,0x04f0);   // Set call address
  *ad=(long)RWH;               // Driver procedures
  inr.x.ax=0x3100;             // Exit to DOS
  inr.x.dx=800;                // Normal finishing
  intdos(&inr,&inr);           // of the resident code
  return 0;
}
хелпаните кто может)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2009, 06:56
Ответы с готовыми решениями:

DLL в borland c++
//Пример кода в dll: int count; int __stdcall __export f_001(const char*...

Открыть dll из Borland в Visual Studio
Доброго времени суток! Я сталкнулась с одной проблемой. Помогите пожалуйста...

Создание потоков в Borland c
Есть ли возможность создание как минимум двух потоков процессора в borland c в...

Создание многофайлового проекта в Borland 5.02
Кто знает как создать многофайловый проект в среде Borland 5.02

Реализовать команду md-создание каталога в Borland C++
Нужно сделать так, что бы по команде md (пример: md C:\CyberForum) создавалась...

2
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
21.09.2009, 10:59 2
А BC++ 3.1 вообще умеет создавать DLL ? Что-то меня терзают смутные сомнения..... К сожалению, под рукой этого антиквариата нет
0
KuevProger
0 / 0 / 0
Регистрация: 24.03.2009
Сообщений: 11
21.09.2009, 12:15  [ТС] 3
Умеет еще как)

он умеет создавать, но мне надо 4тоб этот драйвер работал под досом, соответственно его надо делать ехешником и 4тоб он был резидентной программой, кто мне подскажет как это сделать?), да и в добавок ко всему мне надо 4тоб он юзался через Trace Mode 6.04, а он работает только с ДЛЛльками. Как быть кто подскажит?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2009, 12:15

Русские хелпы по Borland C++ 5.* и Borland C++ Bulder
Подскажите где найти русские хелпы на Borland C++ 5.* и Borland C++ Bulder ...

Создание .dll
Здравствуйте.Нужна помощь в создание dll.Опишите пожалуйста саму структуру...

Создание DLL
Здравствуйте!!!! Помогите пожалуйста создать dll, проблема заключается в том...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru