在Centos上使用基于FreeBSD的tcphdr时无法编译

时间:2015-02-09 04:51:01

标签: c++11 centos styles freebsd

我正在编写一个在tcphdr中使用struct netinet/tcp.h的简单程序,如下所示:

#define _BSD_SOURCE 
#include <netinet/tcp.h>
#include <stdio.h>

int main()
{
        struct tcphdr t;
        t.th_sport = 0;
        printf("\n%d", t.th_sport);
        return 1;
}

因为我希望这个程序可以在FreeBSD和Centos上运行,所以我使用的是基于FreeBSD的属性。我还在文件的开头定义了_BSD_SOURCE。但是当我将此源代码保存到std=c++11文件中时,无法使用*.cpp进行编译。没有名为th_sport的成员。但是,它由std=c99*.c文件完美编译。 这有什么问题?有人帮我解释一下吗?非常感谢。

0 个答案:

没有答案