linux含线程编译命令 linux中线程是怎样创建和运行的

LINUX下多线程编译问题

你编译的时候有加多线程连接选项吗? 要加上 -lpthread 或者 -pthread (尽量选后者)

10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有新津县免费网站建设让你可以放心的选择与我们合作。

例如 gcc -pthread -o test main.cpp

另外你的线程创建的不对,函数指针不能强转类型(这里也不用转)

pthread_create(producter_t,NULL,(void*)producter_f,NULL);

pthread_create(consumer_t,NULL,(void*)consumer_f,NULL);

应该是

pthread_create(producter_t,NULL,producter_f,NULL);

pthread_create(consumer_t,NULL,consumer_f,NULL);

linux里面线程编译运行问题

gcc xxx.c -lpthread 其中的-l是指包含的lib库,具体写法可以man gcc看下

多线程函数除了要包含头文件pthread.h外还必须要包含lib库pthread

pthread_create是创建线程,但具体的线程里面做什么事是在void *create(void *arg)里,这个函数名是自己任意区的,但返回值和参数一般都是void*类型,因为pthread_create函数的定义就是这样

int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);

linux 怎么编译c的源程序的?gcc,编译命令是什么?

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux\n");

}

扩展资料:

在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

参考资料:

百度百科_gcc


分享名称:linux含线程编译命令 linux中线程是怎样创建和运行的
文章网址:http://hbruida.cn/article/doheopp.html