linux下 c/c++多线程简单程序编译不过

1 #include
2 #include
3 #include
4 #include
5
6
7 void *thr_fn1(void *arg)
8 {
9 printf("thread 1 returning\n");
10 return((void *)1);
11 }
12
13 void *thr_fn2(void *arg)
14 {
15 printf("thread 2 exiting\n");
16 return((void *)2);
17 }
18
19 int main(void)
20 {
21 pthread_t tid1,tid2;
22 void *tret;
23 pthread_creat(&tid1,NULL,thr_fn1,NULL);
24 pthread_creat(&tid2,NULL,thr_fn2,NULL);
25 pthread_join(tid1,&tret);
26 printf("thread 1 exit code %d\n",(int)tret);
27 pthread_join(tid2,&tret);
28 printf("thread 2 exit code %d\n",(int)tret);
29 exit(0);
30 }

4个回答

编译的时候要连接lpthread线程库

没显示行号,是因为楼主没选择插入代码的方式贴出来。 估计oyljerry说对了

gcc test.c -lpthread就好了

行号是什么玩意,头文件也没有,报什么错误也不贴,怎么帮你看。

gcc test.c -o test -lpthread

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linux下C语言多线程编程

一、多线程的创建 1、Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连 接时需要使用库libpthread.a。因此,后面的编译必须在选项中加入 -lpthread 选项,否则提示找不到pthread_create()这些函数。 Linux下pthread的实现是通过系统调用clone()来实现的。C

在linux下编译多线程需要如下设置

编译时这样输入命令: gcc xxx.c -o xxx.out -lpthread

在Linux下编写C++程序 简单的小程序

下面是我在redhat下编写的一个小程序hello在linux下编写的c++程序一般用 .cpp 结尾编译的时候用g++而不用cc下面是整个程序#includeusing namespace std;using std::cin;using std::cout;int main(void){            cout            char

Linux下多线程(pthread)编程实例

Linux系统下的多线程遵循POSIX线程接口,称为 pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux 下pthread的实现是通过系统调用clone()来实现的。clone()是 Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。下

typeof在linux中妙用

今天偶然又看到了typeof这个东西,只知道它大概是返回变量的类型,后来上网查了下发现这个关键字在linux中用的非常多, 这里大概叙述了 typeof是一个什么东西,怎么用,实际上可以用简单的话来重述。如果你对sizeof很熟悉的话,那么大可进行类推,sizeof(exp.)返回的 是exp.的数据类型大小,那么typeof(exp.)返回的就是exp.的数据类型。值得注意的是在上面的话里我们可

Linux下用GCC自己写个很简单的小程序

最近研究LINUX,最近又搞了点GCC编译玩玩,废话不多,开始切入正题:1:新建一个文件touch h.c2:给h.c文件写代码:#include int main(void){printf("Hello,WT!");return 0;} 3:编译代码,并生成一个可执行文件名字叫wtgcc h.c -o wt4:运行该文件:./wt

Linux-(C)多线程学习(入门)

另外自己写了一个多线程程序,实现两个程序聊天 思路: 两个程序分别创建两个线程 (当然创建一个也行,跟主线程就两个,但为了代码美观,毕竟学习) 然后一个程序中两个线程分别读写管道 fofi1 fofi2。 另一个程序不同之处,读写管道相反 fofi2 fofi1

Linux Eclipse配置C++多线程开发环境

Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。 头文件直接#include 就可以了,编译器能够自动找到。 链接库libpthread.a需要在编译时手动加上-lpthread指令,如: g++ test.cpp -o test -lpthread 在Ec

linux编译sqlite全过程

linux 环境下,安装编译sqlite全过程。方便移植到嵌入式平台进行使用。

Linux下的多线程

Linux下的c语言多线程教程。详细讲述了Linux下c语言编写多线程的方法。

在linux下执行一个简单的C程序

近来在linux部署了一个系统,想着顺便学习一下linux系统。想想也觉得丢人,作为一个程序员linux的水平还停留在幼儿园的阶段,实在是不应该,今天就编译了一个简单C的hello world程序,在这里记录下来,往后还得多多学习才行。 编译单个文件 首先 vim hello.c 在hello.c中 按下 i 或者 insert 输入以下内容 #include #include int

linux环境下最简单的C语言例子

1、装好linux系统和配置GCC环境       给自己的电脑上安装linux系统,比如我用大的是ubuntu,然后在ubuntu上配置GCC环境,如果不知道配置,请百度“linux上怎么配置GCC环境” 2、打开终端创建文件写代码  用组合命令打开终端  Ctrl+Alt+T用vim创建文件编写代码 vim hello.c 再点击下面命令插入代码 I代码实现为: #includ

Linux C 多线程编程总结

简单的多线程编程    Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可

linux基础编程 套接字socket 完整的服务器端多线程socket程序

此段程序来自我的一个项目中,稍微做了些修改,运行稳定,客户端程序比较简单所以未编写,可以用socket调试工具测试此段代码 费话不多说,直接上代码 #include #include #include #include #include #include #include #include #include #include #include #include #d

linux下的C\C++多进程多线程编程简易例子

多进程编程   #include #include #include int main() { pid_t child_pid; /* 创建一个子进程 */ child_pid = fork(); if(child_pid == 0) { printf("child pid\n"); exit(0); } else { p

【C语言】linux下简单的聊天室程序(TCP+多线程)

利用多线程实现linux下C语言的聊天室程序: 客户端代码: threadsend线程负责客户端消息的发送; threadrecv线程负责客户端接受服务器端的消息。 #include #include #include #include #include #include #include #include #include #include #include

gcc编译编写ARM最简单的c程序_S3C2440点亮LED

使用软件:    1:ubuntu14.04    2:arm-linux-gcc 3.4.5编写步骤:    1:编写cpu初始程序start.s       为什么要最开始编写cpu的初始化的代码呢?我们可以简单的去想象,我们的s3c2440实际上是一个soc,即cpu+外设的集合体,当我们使用soc的时候,那么cpu必须是要最先启动的,才能和外设进行通信,试问我们的cpu上电clk和ddr都...

linux下的五子棋,纯C编写

linux下的五子棋,纯C编写。没有写完,没时间写了!不过后面也没多少,可直接编译

linux 编译线程的命令

linux 编译线程的命令

c语言一些简单的程序

三个数找最大值#include <stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); int maxs=max(a,max(b,c)); printf("%d",maxs); } int max(int x,int y) { int t; t=x&g...

Linux 编译C程序遇到依赖libm或libpthread

转载地址: http://blog.sina.com.cn/s/blog_7905bef10100u0kn.html                      http://blog.sina.com.cn/s/blog_53ed87c1010002p7.html 使用math.h中声明的库函数还有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.s

linux 下c 编译和调试

在linux下编写和调试c程序的环境搭建: 需要安装gcc编译器和gdb调试器。其中gcc编译器只能用rpm包或者用linux的安装盘里的gcc安装文件安装。查看是否安装gcc可用gcc -v来显示相关gcc信息,如显示如下内容: 则说明你的linux安装了gcc  同样用gdb -v来检测是否安装gdb 如果显示 说明你已经安装好了gdb 具体安装过程略..

Linux环境下如何编译和运行opencv程序

使用opencv\sources\samples\c目录下提供的build_all.sh脚本,可以直接编译所有的.c和.cpp文件#!/bin/shif [ $# -gt 0 ] ; then base=`basename $1 .c` echo "compiling $base" gcc -ggdb `pkg-config opencv --cflags --libs` $

linux下如何编译c语言

#include "stdio.h" int main() {  printf("hello word!\n");  return 0; } 1.创建一个c语言文件(扩展名为c)   touch hello.c 2.添加可以正确执行的c语言文件   vi hello.c  2.1查看创建的 ls hello.c  公共的  模板  视频  图片  文档  下载  音

Linux下C语言程序的编译过程

Linux下C语言程序的编译过程 使用gcc编译程序时,编译工程分为4个阶段: (1)预处理:(Pre-Processing) (2)编译:(Compiling) (3)汇编:(Assembling) (4)链接:(linking) Linux程序员可以根据自己的需要让gcc在编译的任何阶段结束,以便检查或使用编译器在该阶段输出信息,或者对最后生成的二进制文件进行控制,以便加入不同数量

linux网络编程之简单的服务器多线程

服务器&客户端demo 最近两天了linux的网络编程,自己写了一个demo,熟悉socket的几个主要API的用法: 虚拟机下的ubuntu 14.04 OS,程序包括: 客户端:发送连接请求;一旦连接建立,将用户输入的信息发送给服务器;输入end,客户端程序退出 服务器端:建立监听端口;接收连接请求;为每个请求创建一个线程,接收客户端的信息并打印。 服务器端程序: #inc

Linux程序编译+GDB调试

Ubuntu下编译第一个C程序的成功运行 对于每个新手来说,进入Ubuntu最想做的事莫过于在终端(Terminal)里运行自己的第一个C/C++程序”hello.c/hello.cpp”了。很多语言书籍都是默认搭载好运行环境的,而Ubuntu默认是不包含编辑器vim和编译器gcc。假设你和我一样,展现在自己眼前的是一台刚安装好的Ubuntu电脑,下面我们将来实现自己的第一个程序。1.准备工作1.

Linux下c mysql程序的编译命令

最好用 #gcc -o test test.c `mysql_config --cflags --libs`其它的编译命令: #gcc -o test test.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lm #gcc -o test test.c -I /usr/include/mysql -L /usr/lib/mysq

一个多线程web服务器实例(C,Linux,详细的web服务器原理)

系统:fedora core 5编译器:g++实现功能:通过http协议,用浏览器查看服务器上的html,htm,jpg,jpeg,gif,png,css文件 ,或者说查看带有jpg,jpeg,gif等文件的网页,即是web~把代码复制下来到linux里,照着后面的方法编译、运行,就可以看到一个简单的多线程服务器的效果了。原理:在浏览器中输入一个网址,回车之后,浏览器会向相应主机的相应端口发送

libgo编译

最近发现了一个C++的协程库,试用了一下,感觉还不错。把编译的注意事项记录一下。

Linux下的多线程(C语言)

用C语言写的Linux下的多线程

linux下的C基于TCP通信(多线程)

linux下的C基于TCP通信(多线程)!!!!

利用多线程实现linux下C语言的聊天室程序:

转载:http://www.360doc.com/content/16/0421/11/478627_552531090.shtmln利用多线程实现linux下C语言的聊天室程序:nnn客户端代码:nnthreadsend线程负责客户端消息的发送;nnthreadrecv线程负责客户端接受服务器端的消息。nnnn[html] view plain copy

linux下多线程的调试

多线程调试的基本命令(均在gdb命令行使用):n   info threads ———— 显示当前可调试的所有线程。每一个线程都有自己的线程ID,显示结果中前面有*的表示当前调试的线程。n   eg: n    (gdb)info threadsn    ID    Target IDn         3     Thread 0x——————(LWP 1235)

Linux下多线程下载兼断点续传实现-原创

原文在我的个人网站上:http://www.vicking.pw/?p=155C 语言也能干大事啊,下面是我写的一个运行在linux下的多线程下载并有断点续传的功能的程序,花了三天时间,不吃不喝,累死我了。不过终于写出来了,一些基本的bug已经去除了。然后其他的问题希望大家多多测试哈,问题发送到我的邮箱来:15955847622@163.com多线程下载 并支持 断点续传 程序(类unix下终端程...

关于Linux下C调python问题

C程序 1 #include "/usr/include/python2.7/Python.h" 2 #include 3 4 int main(int argc,char **argv) 5 { 6 PyObject *modelname,*model,*dict,*func,*args; 7 char *name="os";

Gcc编译流程和git记录

回顾以前的知识,并做简单的整理,出发!n平台:Linux 系统下n建立如下函数,并命名为hello.cn#includenvoid main()n{nprintf("Hello World!\n\r");n}n预编译(Pre-Processing) gccn-E hello.cn-o hello.in编译(Compiling) gccn-S hello.in-o hell

【C/C++多线程编程之五】pthread线程深入理解

多线程编程之pthread线程深入理解       Pthread是 POSIX threads 的简称,是POSIX的线程标准。           前几篇博客已经能给你初步的多线程概念,在进一步学习线程同步等多线程核心知识之前,需要对多线程深入的理解。很多人忽略或者回避这部分内容,直接的问题是学习者无法把握多线程编程的内在原理,理解的层次太浅。

linux下命令行下编译c程序

C 是所有版本的UNIX上的系统语言.C 在过去的二十年中有了很大的发展. 在80年代末期美国国家标准协会(American National Standards Institute)发布了一个被称为 ANSI C 的 C 语言标准.这更加保证了将来在不同平台上的 C 的一致性. 在80年代还出现了一种 C 的面向对象的扩展称为 C++. Linux 上可用的 C 编译器是 GNU C 编译器,

linux下多线程连接mysql(C语言)

采用pthread库,在linux环境下使用gcc编译并运行的Mysql多线程模型。编译时gcc增加编译选项:                  -lpthread -lmysqlclient_r.so, 后者是mysql 的线程安全链接库(referlinux 下mysql多线程支持问题),数据库访问部分如下。 (每个线程维护一个单独的MYSQL结构,并初始化线程专用数据,由于mysql

jni调用头文件的md5方法 编译一直过不去 求解

#include "sdk_quickpay_util_NDKGetUtils.h"n#include n#include n#include nn#include "MD5Handler.h"nnn/*n * Class: sdk_quickpay_util_NdkGetInfoUtilsn * Method: getInfoJsonn * Signature: ()Ljava/l

linux下GCC编译C程序(一)

linux下GCC编译C程序(一)       GNU编译器集     GNU编译器集(其前身为GNU C编译器)诞生于1987年。当时Richard Stallman(GNU项目的创办人)想要创建一个编译器,它可以满足他定义的“自由软件”概念,并可用来编译GNU项目发布的其他软件。GNU C编译器迅速在自由软件社区中流行开来,而且以其健壮性和可移植性而闻名。它已成为许多

Linux篇二:Makefile写多线程多文件程序

距离上次布置任务已经两个周了,虽然这是自己的业余学习,还是为自己的工作时间安排表示有待提高。。 废话不多说,直接上干货。 这次老师布置的任务要求是,Makefile写多线程、多文件调用、用上数学函数、用上Makefile的宏定义,恩就这四点。 画个框架图吧: 说明的不是很清楚哈,下面做个详细解释: 总的来说,我做了这么个东西: 有两个文件(test.txt , Qk.txt),

Linux下基于socket和多线程的聊天室小程序

要求:基于TCP编写,一个聊天室最多100人。 客户端:   1、用户需要登录,登录时只需要输入一个昵称即可无需判断昵称是否重复(如果其他功能都ok考虑)   2、用户登录后连接服务器端,进入聊天室   3、用户可以输入聊天信息,也可以收到别人的聊天信息。   4、用户可以用某个特殊单词代表退出聊天室。服务器端:   1、启动服务器,开放端口   2、等待客户端的连接,每连接上一个客户

linux下用eclipse编译c++的pthread多线程配置

问题:eclipse使用pthread.h遇到“pthread_create”未定义的问题。 解决方法: a.需要在编译时添加-lpthread参数 $ g++ XXXXX.cpp -lpthread -o XXXXX.o b.在eclipse中配置 project>properties>c/c++Build>GCC C++Linker>Libraries 在Li

Linux下C程序的编辑,编译和运行以及调试(c++使用g++)

https://my.oschina.net/tashi/blog/191468Linux下C程序的编辑,编译和运行以及调试要使用的工具:编辑:vim(vi)编译和运行:gcc调试:gdb安装很简单(以下是以在CentOS中安装为例):yum vim gcc gdb1.使用vim编辑源文件首先,打开终端练下手:vim hello.c(进入一般模式)按下"i",进入编辑模式,在编辑模式下输入:#in...

Linux C 网络编程——多线程的聊天室实现(服务器端)

服务器端的主要功能:        实现多用户群体聊天功能(此程序最多设定为10人,可进行更改),每个人所发送的消息其他用户均可以收到。用户可以随意的加入或退出(推出以字符串“bye”实现),服务器也可以进行关闭。 服务器端的程序结构:        总共有三个函数:主函数(main),实现服务器端的初始化,接受连接;消息处理函数(rcv_snd),接受某一用户的消息,将其进行简单处理之后发

Linux下如何编译有多个文件(包括不同目录下的.c/.h文件)的C/C++程序

在Linux下要编译一个C/C++程序,首先要知道包含目录的作用,对C/C++有了解的就会知道,#include是包含头文件所用的,也就说说部分类、函数、或者变量声明就在其中。而#include宏定义又有两种:#include""和#include <>这两个语句的差别在于查找文件的方式,#include""是在当前目录下查找,若是找不到再跳到系统目录,而#include<&gt...

Linux 下编译并运行C语言程序

Linux下编译并运行C语言程序

简单多线程socket聊天室程序(c语言)

server.c client.c Makefile 在linux下编译通过,C语言编写,短小精练。 server实现数据转发,使用了socket中的accept,select,线程中的线程分离属性(PTHREAD_CREATE_DETACHED)等 client实现读和写的异步,也使用了线程分离属性。 直接实现多个client终端对话。 可做为新人学习的参考。

立即提问
相关内容推荐