有人可以告诉我用于u_short
和u_char
等的头文件:
我看到它在sys/socket.h
中使用:
typedef u_char sa_family_t;
但是当我在程序中使用该标题时,它会给我错误:
1>c:\program files\microsoft visual studio 10.0\vc\include\sys\socket.h(52):
error C2146: syntax error : missing ';' before identifier 'sa_family_t'
我认为解决方案是包含标题,但我不知道它是什么标题!
答案 0 :(得分:0)
u_short的头文件?
我们只是在不经常使用的平台上进行测试。我们在Cygwin i686下使用GCC 5.3和yourCollectionView.frame = yourContentView.frame;
yourCollectionView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
遇到了类似的问题。该代码已稳定约15年(给予或接受)。
我无法为其找到标准标题。
在OS X和Linux上显示-std=c++11
相当普遍,即使Cygwin现在有0次点击(2016年6月):
u_short
和
# Ununtu
$ grep -IR "u_short" /usr/include | wc -l
31
# OS X
$ grep -IR "u_short" /usr/include | wc -l
122
# Solaris
$ /usr/gnu/bin/grep -IR "u_short" /usr/include/ | wc -l
125
对于# Ubuntu
$ grep -IR "u_short" /usr/include | grep typedef
/usr/include/x86_64-linux-gnu/bits/types.h:typedef unsigned short int __u_short;
/usr/include/x86_64-linux-gnu/sys/types.h:typedef __u_short u_short;
/usr/include/rpc/types.h:typedef __u_short u_short;
/usr/include/linux/coda.h:typedef unsigned short u_short;
# OS X
$ grep -IR "u_short" /usr/include | grep typedef
/usr/include/netinet/ip_mroute.h:typedef u_short vifi_t; /* type of a vif index */
/usr/include/netinet6/ip6_mroute.h:typedef u_short mifi_t; /* type of a mif index */
/usr/include/sys/types.h:typedef unsigned short u_short;
# Solaris
$ /usr/gnu/bin/grep -IR "u_short" /usr/include/ 2>/dev/null | grep typedef
/usr/include/sys/types.h:typedef unsigned short u_short;
/usr/include/rpcsvc/nfs_acl.h:typedef u_short o_mode;
或unsigned short
(来自uint16_t
的Unix和Linux)而不是<stdint.h>
,您应该安全。