45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
||||||
1 | ||||||
Posix поток08.09.2015, 16:32. Показов 890. Ответов 15
Метки нет (Все метки)
Вообщем сделал такую программу, используя поток, которая просто выводит сообщения, скомпилировал как надо:
gcc Programm.c -lpthread . Вот код :
Одна из ошибок: Programm.c : In function 'main': Programm.c:17:3 : warning : passing argument 3 of 'pthread_create' from incompatible pointer type. Вот как то так. Но! Я понятия не имею что за прикол, но ранее, а именно вчера данный код скомпилировался и запустился, я сегодня уже нет, может с линуксом(у меня кноппикс) что то? Заранее благодарю.
0
|
08.09.2015, 16:32 | |
Ответы с готовыми решениями:
15
Очередь сообщений posix Потоки Posix. C Linux Неименованные каналы POSIX Обход каталога в POSIX |
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 16:46 [ТС] | 3 |
Velesthau, Дело в том что с таким кодом оно уже компилировалось.
0
|
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|
08.09.2015, 16:48 | 4 |
Никто не сможет проверить, что у тебя компилировалось, а что не компилировалось, и в каком состоянии ты компилировал программу.
Оно и сейчас компилироваться будет, потому что у тебя не ошибка, а warning. Но по факту в мане функция должна возвращаться void*. Почему, как и что было раньше - выясни сам.
0
|
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 16:56 [ТС] | 5 |
Забыл кинуть ещё кое что, вылетает при компиляции --
In file included from Programm.c:1:0 /usr/include/pthread.h:244:12:note:expected 'void *(*)(void *)' but argument is type 'void(*)(void *)' extern int pthread_create(pthread_t* _restrict _newthread, Может это что то прояснит.
0
|
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 17:13 [ТС] | 7 |
Velesthau, Я не только вам написал, мало ли, вдруг у кого то такая проблема была, может помогут.
0
|
528 / 431 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
|
|
08.09.2015, 17:18 | 8 |
Уже написал, как решается проблема не один раз. И компилятор тоже написал тебе это черным по белому:
Хочу, говорит, указатель на функцию, которая принимает указатель на void и возвращает указатель на void, а мне автора кода подсунул какую-то левую фигню.
В чем нужна помощь?
0
|
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 17:22 [ТС] | 9 |
Velesthau, В решении проблемы.
0
|
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 17:24 [ТС] | 11 |
Velesthau, "Почему, как и что было раньше - выясни сам." вы про это?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
08.09.2015, 18:03 | 13 |
IVAN1234, ну не верите человеку - возьмите, да сами почитайте man pthread_create там, кстати, и пример есть. А что, как и с какого перепуга у Вас вчера компилировалось, а сегодня вдруг ошибки пишет - поди теперь угадай...
Добавлено через 2 минуты Вот это к примеру вообще что значит?
0
|
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
|
|
08.09.2015, 18:05 [ТС] | 14 |
easybudda, вместо pthread ставил join_pthread, ошибся, сдесь, но компилировал с join_pthread.
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
08.09.2015, 19:09 | 15 | |||||
В смысле - с pthread_join()
Вот пример попроще
Код
[andrew@andrew system]$ gcc -Wall -pedantic -ansi pthread_example.c -lpthread [andrew@andrew system]$ ./a.out Welcome to threads Welcome to threads Welcome to threads [andrew@andrew system]$
1
|
castorsky
|
08.09.2015, 22:13
Posix поток
#16
|
Не по теме: Рано еще потоки. Надо K&R шлифовать если такие элементарные вещи вызывают непонимание.
0
|
08.09.2015, 22:13 | |
Генератор сигнала на C под POSIX Точный delay() , желательно только POSIX Изменить размер у POSIX shared memory сегмента Интерпретация командной строки. Файловые операции POSIX. Прошу помочь дописать программу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |