一)进程ID:
pid_t 是那一种数据类型:
是Linux下的进程号类型,也就是Process ID _ Type 的缩写。 其实是宏定义的unsigned int类型,
warning: format ‘%u’ expects type ‘unsigned int’, but argument 2 has type ‘pthread_t’:
使用%lu打印pthread_t不会出现警告。
二)线程ID:
编译时如果使用%x打印pthread_t会出现警告信息:
thread-pool.c:77: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘pthread_t’
如果使用%lu打印pthread_t不会出现警告。
如:
问题一,对宏定义的返回数据类型作出一个定义,如下面是对进程数作定义:
问题二:对pid_t进程号用printf打印出现警告:
pid_t p;
pthread_t t;
printf("\nthread id is %lu,procees id is %lu,waiting for into while...\n",t,p);
format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘pid_t’
这PID pthread_t打印用啥格式?
: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘pthread_t’
: warning: format ‘%ld’ expects type ‘long int’, but argument 3 has type ‘pid_t’
: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘pthread_t’
如果打印pid_t这种类型,你知道它是整数,但是不知道具体类型,而且在不同平台也可能不同
一般做法是强转下:"%lld", (long long)xxx
或者"%llu", (unsigned long long)xxx
因为C的整数最大就是long long
实践Ok代码如下:
pid_t 是那一种数据类型:
是Linux下的进程号类型,也就是Process ID _ Type 的缩写。 其实是宏定义的unsigned int类型,
warning: format ‘%u’ expects type ‘unsigned int’, but argument 2 has type ‘pthread_t’:
使用%lu打印pthread_t不会出现警告。
二)线程ID:
编译时如果使用%x打印pthread_t会出现警告信息:
thread-pool.c:77: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘pthread_t’
如果使用%lu打印pthread_t不会出现警告。
如:
问题一,对宏定义的返回数据类型作出一个定义,如下面是对进程数作定义:
问题二:对pid_t进程号用printf打印出现警告:
pid_t p;
pthread_t t;
printf("\nthread id is %lu,procees id is %lu,waiting for into while...\n",t,p);
format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘pid_t’
这PID pthread_t打印用啥格式?
: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘pthread_t’
: warning: format ‘%ld’ expects type ‘long int’, but argument 3 has type ‘pid_t’
: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘pthread_t’
如果打印pid_t这种类型,你知道它是整数,但是不知道具体类型,而且在不同平台也可能不同
一般做法是强转下:"%lld", (long long)xxx
或者"%llu", (unsigned long long)xxx
因为C的整数最大就是long long
实践Ok代码如下:
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7883/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2015-3-20 10:55
评论列表