Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÏß³Ì(pthread)±à³ÌÖеÄsegmentation fault£¡£¡


linuxÏß³Ì(pthread)±à³ÌÖеÄsegmentation fault£¡£¡
Posted on ÐÇÆÚÎå, 3ÔÂ 27th, 2009 at 10:28 ÏÂÎç
Ô´ÎÄÀ´×Ôhttp://www.isongzi.com/2009/03/27/pthread-segmentation-fault/
¼Ìsocket bad addres ´íÎóÖ®ºó£¬ÔÚ´´½¨Ï̡߳¾pthread_create()¡¿µÄʱºòÓÖ³öÏÖÁË segmentation fault¡£
´íÎóÓï¾äÈçÏ£º
pthread_create(&dec_tid,NULL, (void *)&encode, (void *)&cmd);
encode ÉùÃ÷ÈçÏ£º
int encode(void *arg);
¿ªÊ¼ÎÒÏëµÄÊÇ£¬»á²»»áÊÇencodeÇ°Ãæ²»ÓüÓ&ÄØ£¿°´ÕÕÉùÃ÷¶¨Ò壺
pthread_create(&tid, &attr, (void *)myfunction, myarg);
µÚÈý¸ö²ÎÊý¾ÍÊǺ¯ÊýÃû¶øÒÑ£¬ÊÇΪÁ˱íÃ÷Ï̺߳¯ÊýµÄÈë¿ÚµØÖ·¡£µ«ÊÇ£¬¿´µÄfreescaleÌṩµÄ²Î¿¼³ÌÐòÖÐÓÐÔ´ÂëÊÇÕâÑùµÄ£º
pthread_create(&sigtid, NULL, (void *)&signal_thread, NULL);
Ò²¾ÍÊÇ˵£¬¿ÉÒ԰ѵÚÈý¸ö²ÎÊýÒ²¼´º¯ÊýÃûÇ°Ãæ¼ÓÉÏ&£¬Á½¸öЧ¹ûÒ»Ñù¡£ÎªÁ˼ìÑéµ½µ×ʲôµØ·½´íÎ󣬻¹ÊǸÄÁËһϣº
pthread_create(&dec_tid,NULL, (void *)encode, (void *)&cmd);
°ÑencodeÇ°Ãæ µÄ&È¥µô£¬µ«ÊÇÒÀÈ»segmentation fault.¡£
ÍøÉÏÕÒÁËһϣ¬Ô­ÒòÔÚÓÚµ÷ÊÔµÄʱºòû¼Ó -lpthread!ÏëÒª±àÒë¶àÏ̵߳ijÌÐò£¬±ØÐëÈçϱàÒ룺
gcc -o test  -lpthread test.c£¬
ÒòΪÏ߳̿ⲻÊÇÄÚºË×Ô´øµÄ£¬ÒªÏÔʽ˵Ã÷¡£ÎÊÌâÊÇ£¬ÎªÊ²Ã´GCCÔÚ±àÒëµÄʱºò²»±¨´íÄØ£¿
Õâ¸öÎÊÌâ±È½ÏÓÐÄѶȡ£ºÃÁË£¬Ô­ÒòÕÒµ½ÁË£¬Ôõô½â¾ö£¿Makefile ÎļþÈçÏ£º
#This Makefile is from http://isongzi.com which is to make send.out
CC=$(CROSS_COMPILE)gcc
LINK=$(CROSS_COMPILE)gcc
CROSS_COMPILE=arm-926ejs-linux-
OBJ = main.o \
enc.o \
capture.o \
fb.o \
socket.o \
OBJDIR=./bin
LIBNAME = libvpu.a
LIBDIR = ./lib/
# list of platforms which want this test case
INCLUDE_LIST:=IMX27ADS IMX31ADS MXC30031ADS IMX27MDK27V0
TARGET = send.out
all: $(TARGET) $(TARGET1)
$(TARGET): $(LIBDIR)$(LIBNAME) $(OBJ)
$(LINK) -L . -lpthread -o $(TARGET) $(OBJ) $(LIBNAME)
mkdir -p $(OBJDIR)
mv $(TARGET) $(OBJDIR)
mv $(LIBNAME) $(OBJDIR)
%.o: %.c
$(CC) -Wall -O2 -I $(LIBDIR) -c $^ -o $@
$(LIBDIR)$(LIBNAME):
make -C $(LIBDIR)
mv $(LIBDIR)$(LIBNAME) .
.PHONY: clean
clean:
rm -f $(OBJDIR)/$(TARGET) $(OBJ) $(LIBNAME)
Ô­À´


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

LINUXϹØÓÚCPUÐÅÏ¢»ñÈ¡

1. TOP    ÃüÁî È»ºó°´“1”£¬¿ÉÒԲ鿴CPUÓжàÉÙ¸öºË¡£
2. less /proc/cpuinof ¿ÉÒԲ鿴 CPUÄں˸öÊý¼°¸ü¶àÄÚºËÐÅÏ¢¡£
3.dmesg |grep CPU ¿ÉÒÔºËʵCPUÄں˸öÊýÇÒ»ùÓÚ¶àÉÙ¸öÎïÀíCPU¼°ÏêϸÐÅÏ¢¡£
4.dmidecode |grep "CPU"  ¿ÉÒÔºËʵ¶àÉÙ¸öÎïÀíCPU¡£
ÁíÍâ  grep '' * ÓÐÃîÓ㬿ÉÒԲ鿴 ......

LinuxÏÂViÃüÁîʹÓ÷½·¨

ViÊÇLinuxϵͳµÄµÚÒ»¸öÈ«ÆÁÄ»½»»¥Ê½±à¼­³ÌÐò¡£ViÊÇ“Visual interface”µÄ¼ò³Æ£¬ËüÔÚLinuxÉϵĵØÎ»¾Í·Â·ðEdit³ÌÐòÔÚDOSÉÏÒ»Ñù¡£1¡¢Ê×´ÎʹÓýéÉÜ
  <1>ÓÃvi´ò¿ªÎļþºó£¬ÊÇ´¦ÓÚ¡¸ÃüÁîÐÐģʽ£¨command mode£©¡¹£¬ÒªÇл»µ½¡¸²åÈëģʽ£¨Insert mode£©¡¹²ÅÄܹ»ÊäÈëÎÄ×Ö¡£Çл»·½·¨£ºÔÚÃüÁîÐÐģʽ£¨comm ......

linuxÄÚ´æ³Ø

ÄÚ´æ³Ø(memory pool) ÊÇlinux2.6µÄÒ»¸öеÄÌØÐÔ¡£»ù±¾ÉϽ«£¬Ò»¸öÄÚ´æ³ØÔÊÐíÒ»¸öÄں˳ɷ֣¬Èç¿éÉ豸×Óϵͳ£¬½öÔÚÄÚ´æ²»×ãµÄ½ô¼±Çé¿öÏ·ÖÅäһЩ¶¯Ì¬ÄÚ´æÀ´Ê¹Óá£
ÄÚ´æ³ØÊǶ¯Ì¬ÄÚ´æµÄ´¢±¸£¬Ö»Äܱ»Ìض¨µÄÄں˳ɷ֣¨¼´³ØµÄ“ÓµÓÐÕß”£©Ê¹Óá£ÓµÓÐÕßͨ³£²»Ê¹Óô¢±¸£»µ«ÊÇ£¬Èç¹û¶¯Ì¬ÄÚ´æ±äµÃ¼«ÆäÏ¡ÓÐÒÔÖÁÓÚËùÓÐÆÕͨÄÚ
......

Linux»ã±àÓï·¨¿ª·¢

»ã±àÓïÑÔµÄÓŵãÊÇËٶȿ죬¿ÉÒÔÖ±½Ó¶ÔÓ²¼þ½øÐвÙ×÷£¬Õâ¶ÔÖîÈçͼÐδ¦ÀíµÈ¹Ø¼üÓ¦ÓÃÊǷdz£ÖØÒªµÄ¡£Linux ÊÇÒ»¸öÓà C ÓïÑÔ¿ª·¢µÄ²Ù×÷ϵͳ£¬ÕâʹµÃºÜ¶à³ÌÐòÔ±¿ªÊ¼Íü¼ÇÔÚ Linux Öл¹¿ÉÒÔÖ±½ÓʹÓûã±àÕâÒ»µ×²ãÓïÑÔÀ´ÓÅ»¯³ÌÐòµÄÐÔÄÜ¡£±¾ÎÄΪÄÇЩÔÚLinux ƽ̨Éϱàд»ã±à´úÂëµÄ³ÌÐòÔ±ÌṩָÄÏ£¬½éÉÜ Linux »ã±àÓïÑÔµÄÓï·¨¸ñʽºÍ¿ª·¢¹¤¾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ