Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / не компилится / 14 сообщений из 14, страница 1 из 1
27.07.2006, 11:25
    #33881566
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Ребята помогите разобраться использую VS 2005

Ошибка следующего плана
Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib


Вот мой исходник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
#include <conio.h>
#include <windows.h>

	int GetBasemory()
	{
		BYTE lowBase =  0 , highBase =  0 ;
// читаем информацию из Cmos	
		_outp (0x70, 0x15);
			lowBase = _inp(0x71);
		_outp (0x70, 0x16);
			highBase= _inp(0x71);
		return (( highBase <<  8 ) | lowBase);
	}
// функция управления клавиатурой
		void KeyBoard_OnOff(bool bOff)
		{
			BYTE state; // текущее состояние клавиатуры
			if (bOff){ // выключить клавиатуру
				// получаем текущее состояние
				state = _inp(0x61);
				state |=0x80;
				_outp (0x61, state);
			}
			else
			{
				// получаем текущее состояние
				state = _inp(0x61);
				// устанавлеваем бит 7 в 0
				state &= 0x7F;
				// записываем обновленное значение в порт
				_outp (0x61, state);
			}
		}


...
Рейтинг: 0 / 0
27.07.2006, 11:28
    #33881586
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Где main()?
...
Рейтинг: 0 / 0
27.07.2006, 11:36
    #33881633
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
без main он
...
Рейтинг: 0 / 0
27.07.2006, 11:51
    #33881697
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
EvgeBбез main он

А откуда у тебя начинается выполнение программы?
...
Рейтинг: 0 / 0
27.07.2006, 12:24
    #33881838
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
это и есть внсь код
...
Рейтинг: 0 / 0
27.07.2006, 12:28
    #33881858
redskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Оно компилится , но не линкуется.
Почему оно не линкуется - написано английским по фоновому.
Нет main (если программа консольная) или WinMain (если GUI)
...
Рейтинг: 0 / 0
27.07.2006, 12:33
    #33881880
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Поправте пжалусто код, а то если в переди ставлю просто int main(void) {}
То прога компилится а толку от нее ноль. Прога консольная
...
Рейтинг: 0 / 0
27.07.2006, 12:35
    #33881887
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
EvgeBint main(void) {}
ну дак ничего и не происходит
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.07.2006, 12:49
    #33881947
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Так что делать
...
Рейтинг: 0 / 0
27.07.2006, 12:51
    #33881954
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
EvgeBТак что делать
main - это функция, которая будет вызвана при старте программы. Если в ней ничего нет, то программа ничего и не сделает.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.07.2006, 15:07
    #33882475
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
EvgeBТак что делатьпервым делом нужно сформулировать, что тебе нужно. Причём НЕ фразой "чтобы всё работало".
...
Рейтинг: 0 / 0
27.07.2006, 16:03
    #33882672
EvgeB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
void main()
{
KeyBoard_OnOff(true);
}
...
Рейтинг: 0 / 0
28.07.2006, 12:23
    #33884827
red_mould
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
А вернее те надо в main вызвать твою функцию. вот твой код:

#include <conio.h>
#include <windows.h>

int GetBasemory()
{
BYTE lowBase = 0, highBase = 0;
// читаем информацию из Cmos
_outp (0x70, 0x15);
lowBase = _inp(0x71);
_outp (0x70, 0x16);
highBase= _inp(0x71);
return (( highBase << 8) | lowBase);
}
// функция управления клавиатурой
void KeyBoard_OnOff(bool bOff)
{
BYTE state; // текущее состояние клавиатуры
if (bOff){ // выключить клавиатуру
// получаем текущее состояние
state = _inp(0x61);
state |=0x80;
_outp (0x61, state);
}
else
{
// получаем текущее состояние
state = _inp(0x61);
// устанавлеваем бит 7 в 0
state &= 0x7F;
// записываем обновленное значение в порт
_outp (0x61, state);
}
}

int main()
{
GetBasemory();
return 0;
}

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

Лишь ум потеряный безповоротно мною,
Наполнит моё сердце мне тоскою.
Ози Озборн
...
Рейтинг: 0 / 0
28.07.2006, 12:30
    #33884855
red_mould
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не компилится
Выше вызов твоей первой функции, которая читает CMOS, а потом например если она что-то вернула то подрубай клаву. Вот так :
Код: plaintext
1.
2.
3.
4.
5.
6.
int main()
{
if( GetBasemory() )
    KeyBoard_OnOff(true);          
return  0 ;
}


Лишь ум потеряный безповоротно мною,
Наполнит моё сердце мне тоскою.
Ози Озборн
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / не компилится / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]