1) as a beginner in Linux, I am only beginning to get started with thread programming. According to an example in the GUN/Linux programming guide, the following error occurs:
Undefined reference to 'pthread _ create'
Undefined reference to 'pthread _ join'
Cause:
The pthread library is not the default library in Linux. You must use the static library libpthread for connection. a, you need to link to this library when using pthread_create () to create a thread and calling the pthread_atfork () function to create a fork handler.
Solution:
Add the-lpthread parameter to the compilation.
Gcc-o thread. c-lpthread
Thread. c is your source file. Do not forget to add the header file # include <pthread. h>
2) Warning: Implicit declaration of incompatible built-in function strlen and implicit declaration of incompatible built-in function exit
Cause: the strlen function is in string and the exit function is in stdlib. The header files string. h and stdlib are not added to the file.
Solution: add the header files string. h and stdlib to the file.
3) error: Unknown storage size of sem_union
Cause: in the new version 2.6 kernel, the union sem_union consortium has been commented out, and you need to write the consortium yourself.
Solution: define in file C
Union semun {int val; struct semid_ds * buf; unsigned short * array;} sem_union;
After compilation, it will be able to find the pre-defined sem_union consortium.