powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / не компилится
14 сообщений из 14, страница 1 из 1
не компилится
    #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
не компилится
    #33881586
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где main()?
...
Рейтинг: 0 / 0
не компилится
    #33881633
EvgeB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
без main он
...
Рейтинг: 0 / 0
не компилится
    #33881697
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeBбез main он

А откуда у тебя начинается выполнение программы?
...
Рейтинг: 0 / 0
не компилится
    #33881838
EvgeB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это и есть внсь код
...
Рейтинг: 0 / 0
не компилится
    #33881858
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно компилится , но не линкуется.
Почему оно не линкуется - написано английским по фоновому.
Нет main (если программа консольная) или WinMain (если GUI)
...
Рейтинг: 0 / 0
не компилится
    #33881880
EvgeB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправте пжалусто код, а то если в переди ставлю просто int main(void) {}
То прога компилится а толку от нее ноль. Прога консольная
...
Рейтинг: 0 / 0
не компилится
    #33881887
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeBint main(void) {}
ну дак ничего и не происходит
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
не компилится
    #33881947
EvgeB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так что делать
...
Рейтинг: 0 / 0
не компилится
    #33881954
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeBТак что делать
main - это функция, которая будет вызвана при старте программы. Если в ней ничего нет, то программа ничего и не сделает.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
не компилится
    #33882475
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeBТак что делатьпервым делом нужно сформулировать, что тебе нужно. Причём НЕ фразой "чтобы всё работало".
...
Рейтинг: 0 / 0
не компилится
    #33882672
EvgeB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
void main()
{
KeyBoard_OnOff(true);
}
...
Рейтинг: 0 / 0
не компилится
    #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
не компилится
    #33884855
Фотография red_mould
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выше вызов твоей первой функции, которая читает CMOS, а потом например если она что-то вернула то подрубай клаву. Вот так :
Код: plaintext
1.
2.
3.
4.
5.
6.
int main()
{
if( GetBasemory() )
    KeyBoard_OnOff(true);          
return  0 ;
}


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


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