|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.09.2015, 14:21 | #1 |
Пользователь
Регистрация: 15.02.2015
Сообщений: 21
|
Ошибка компиляции
У меня такое задание по лабораторной работе.
Напишите программу на языке Cи, в которой: 1) Запускается четное количество потоков параллельно. 2) Каждый нечетный поток (например, первый) создает файл с именем из своего PID, записывает в него произвольное число символов (от нескольких символов до сотен миллионов символов) и закрывает этот файл. 3) Каждый четный поток (например, второй) открывает файл, созданный предыдущим потоком с нечетным номером (в нашем случае первым), читает его, считает количество символов в файле и закрывает его; при этом четный поток не должен иметь никакой информации о количестве записываемых в файл символов и о том, закончена ли запись в файл нечетным потоком. 4) Каждый из потоков выводит следующую информацию: ThreadID, PID, PPID, время, имя файла, количество записанных или считанных символов. 5) Количество пар создаваемых потоков передается аргументом в программу с командной строки. Программа должна ждать завершения работы всех потоков, анализировать и сообщать о причинах завершения потоков. Для передачи имен файлом между потоками можно использовать символьный массив в основной программе. Но при попытке компиляции (компилятор gcc) выдает такие ошибки: j.c: In function ‘main’: j.c:99:14: error: ‘new’ undeclared (first use in this function) j.c:99:14: note: each undeclared identifier is reported only once for each function it appears in j.c:99:18: error: expected ‘;’ before ‘pthread_t’ j.c:100:18: error: expected ‘;’ before ‘pthread_t’ j.c:101:21: error: expected ‘;’ before ‘char’ j.c:104:28: error: expected ‘;’ before ‘char’ j.c:105:65: error: expected ‘)’ before ‘int’ j.c:111:63: error: expected ‘)’ before ‘int’ Подскажите пожалуйста как их исправить? |
22.09.2015, 14:22 | #2 |
Пользователь
Регистрация: 15.02.2015
Сообщений: 21
|
Код моей программы
Код:
|
22.09.2015, 14:31 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
new это C++, а не C. Там malloc.
И в С до С99 нельзя объявлять переменные в любом месте функции, только в начале. Если хотите C99 пишите при компиляции в параметрах gcc -std=c99 И при объявлении переменной структуры надо писать struct (struct pthread_t*), либо typedef создать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 22.09.2015 в 14:34. |
22.09.2015, 14:46 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Может проще изменить тип файла, чтоб был .cpp?
|
22.09.2015, 14:47 | #5 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так в задании и не просят С++.
Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
23.09.2015, 07:01 | #6 |
Пользователь
Регистрация: 15.02.2015
Сообщений: 21
|
Если вам не сложно можете помочь перевести программу в Си.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка компиляции | Okadzi | Общие вопросы C/C++ | 5 | 02.03.2012 00:35 |
C++ Ошибка компиляции | xays | Общие вопросы C/C++ | 1 | 10.02.2012 02:50 |
Ошибка компиляции (С++) | Virgilij | Помощь студентам | 0 | 26.01.2012 21:02 |
Ошибка компиляции? | hardorsoft | Помощь студентам | 5 | 19.05.2011 15:17 |
C++ ошибка компиляции | Seil_29 | Помощь студентам | 9 | 20.12.2009 22:23 |