LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1855|回复: 3

uclinux(多线程和多进程问题)

[复制链接]
发表于 2004-5-31 15:12:49 | 显示全部楼层 |阅读模式
哪位做过嵌入式uclinux??给帮个忙!!
我用arm+uclinux想实现一个服务器,实现多个客户端,当客户端连接时能给客户端发送数据,我想做成能同时给多个客户发送数据,但是我用多进程 (用vfork()函数)和多线程(用pthread_create()函数)编程都不能实现,在uclinux中,由于vfork函数执行后创建子进程,此时,执行子进程,而父进程被系统锁定,所以用进程编程时不能实现的。
我用线程编写的程序在生成image时出现如下错误,谁能给我看看,我该怎么做!!
arm-elf-gcc -Os -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/sumy/uClinux-Samsung/lib/libc/include -I/home/sumy/uClinux-Samsung/lib/libm -I/home/sumy/uClinux-Samsung -fno-builtin -nostartfiles -I/home/sumy/uClinux-Samsung/linux-2.4.x/include -c -o server.o server.c
server.c:11: pthread.h: ?????????
make[2]: *** [server.o] Error 1
make[2]: Leaving directory `/home/sumy/uClinux-Samsung/user/myapp'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/sumy/uClinux-Samsung/user'
make: *** [subdirs] Error 1
救救我呀!!
谢谢先!!
发表于 2004-5-31 15:16:34 | 显示全部楼层
增加头文件包含目录:

-I/usr/include

注意是大写字母HIJKLMN.... 中的 I
 楼主| 发表于 2004-5-31 15:19:43 | 显示全部楼层
谢谢chice
你能不能再说的具体点呀?
发表于 2004-5-31 17:17:05 | 显示全部楼层
应该用这样的命令:
arm-elf-gcc -Os -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/usr/include -I/home/sumy/uClinux-Samsung/lib/libc/include -I/home/sumy/uClinux-Samsung/lib/libm -I/home/sumy/uClinux-Samsung -fno-builtin -nostartfiles -I/home/sumy/uClinux-Samsung/linux-2.4.x/include -c -o server.o server.c


当然了,看样子你应该是用make进行编译的,
应该编辑相应的 Makefile

另外我怀疑你的系统配置有问题。因为/usr/include是gcc的默认头路径。不
指定也应该可以找到。

你看看  ls /usr/include/pthread.h 是否存在。如果不存在那就*@#&*(@#&了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表