当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在make APUE第二版时出现了这个错误
帖子发表于 : 2009-02-02 18:42 

注册: 2009-02-01 11:29
帖子: 17
送出感谢: 0 次
接收感谢: 0 次
错误:
badexit2.c: 在函数‘printfoo’中:
badexit2.c:11: 警告: 格式字符串不是一个字面字符串而且没有待格式化的实参
make[2]:正在离开目录 `/home/panchenji/apue.2e/threads'
make[1]:正在离开目录 `/home/panchenji/apue.2e'

badexit2.c代码:
#include "apue.h"
#include <pthread.h>

struct foo {
int a, b, c, d;
};

void
printfoo(const char *s, const struct foo *fp)
{
printf(s);
printf(" structure at 0x%x\n", (unsigned)fp);
printf(" foo.a = %d\n", fp->a);
printf(" foo.b = %d\n", fp->b);
printf(" foo.c = %d\n", fp->c);
printf(" foo.d = %d\n", fp->d);
}

void *
thr_fn1(void *arg)
{
struct foo foo = {1, 2, 3, 4};

printfoo("thread 1:\n", &foo);
pthread_exit((void *)&foo);
}

void *
thr_fn2(void *arg)
{
printf("thread 2: ID is %d\n",(int)pthread_self());
pthread_exit((void *)0);
}

int
main(void)
{
int err;
pthread_t tid1, tid2;
struct foo *fp;

err = pthread_create(&tid1, NULL, thr_fn1, NULL);
if (err != 0)
err_quit("can't create thread 1: %s\n", strerror(err));
err = pthread_join(tid1, (void *)&fp);
if (err != 0)
err_quit("can't join with thread 1: %s\n", strerror(err));
sleep(1);
printf("parent starting second thread\n");
err = pthread_create(&tid2, NULL, thr_fn2, NULL);
if (err != 0)
err_quit("can't create thread 2: %s\n", strerror(err));
sleep(1);
printfoo("parent:\n", fp);
exit(0);
}

菜鸟请高人指点


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在make APUE第二版时出现了这个错误
帖子发表于 : 2009-02-02 18:45 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
printf(s);

改成

printf("%s", s);


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在make APUE第二版时出现了这个错误
帖子发表于 : 2009-02-02 19:33 

注册: 2009-02-01 11:29
帖子: 17
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET,

前面那个好了,但是怎么好像还是没有MAKE成功,请问怎么查看错误阿,终端里显示的好像没有什么错误,只有警告


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 在make APUE第二版时出现了这个错误
帖子发表于 : 2009-02-03 19:36 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
那贴出来阿。。


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Yahoo [Bot] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译