![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Всем привет!Давно я тут не было!не программировал с конца июня, многое подзабыл уже..без практики тяжело..Вот дали лабу в инсте, вроде как все правильно написал(точнее переделал пример в лабе, но это лишь затем, что бы посмотреть как будет работать). Но возникла проблема : gcc ошибок не видит, ну разве только ругается на winapi функции, но это из-за MinGW. А вот компилятор борланда выдает..
Вот код, для начала : #include <windows.h> Задание звучит так : 1. Разработать консольное многопоточное приложение, выполняющее корректировку разделяемых данных, определенных одной или двумя глобальными переменными, по следующему алгоритму. Главный поток отслеживает нажатие пользователем клавишей двух типов. В случае нажатия на клавиши 1-го типа выполняется операция 1, при нажатии на клавиши 2-го типа выполняется операция 2. Функциональность каждой операции определяется в соответствии с заданным вариантом (табл. 1). Начальные значения разделяемых переменных установить самостоятельно. Для выполнения операций 1 и 2 в программе создаются отдельные потоки. В потоке имитируются действия по "чтению" разделяемых переменных в буферные переменные, и "записи" полученных результатов из буферных переменных с учетом некоторой временной задержки (см. пример в приложении). В программе заданные операции оформляются либо в виде одной функции потока (варианты с индексом а), либо двумя функциями потока (варианты с индексом b). . У меня надо было копировать буквы из строк, но не в этом суть дела. При компилировании в борланде, компилятор выдает : что вот тут DWORD ThreadProc(log *p); // функция потока (параметр - 'log' Cannot start a parametr declaration. Не понимаю, почему?..Гцц этой ошибки не видит. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата При компилировании в борланде, компилятор выдает : Потому что Борланд хочет, чтоб ты написалчто вот тут DWORD ThreadProc(log *p); // функция потока (параметр - 'log' Cannot start a parametr declaration. DWORD ThreadProc(struct log *p);, что будет компилироваться и им и GCC (проверено в GCC 3.4.5 и в Builder 2009)... Но ни тот ни другой не пропустят эту функцию в CreateThread, поскольку подразумевается DWORD WINAPI ThreadProc(, то есть параметр должен быть (void *)... |
Andrewshkovskii |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Понятно..просто программирование это как английский, без практики забываются основы..а я месяца 4 не писал ничего...Хотя в методических указаниях, этот пример написан именно так, и он работает, но когда я подставил под своё задание(фактически добавил строки и их обработку) начало выдавать такую ошибку..
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 4:08 |