C++,包括用于size_t的linux/types.h

C++ including linux/types.h for size_t

本文关键字:linux types 包括 用于 size C++      更新时间:2023-10-16

我正试图围绕C库(我是该库的作者,也就是说,如果需要,我可以在那里应用更改)创建一个C++包装器(添加面向对象)。C库定义了一些结构,这些结构使用了linux/types.h中定义的size_t,因为它与内核接口。

我现在正试图将C库的头(定义结构)包含在我尝试创建C++库的源代码中。然而,如果我这样做,编译器告诉我

size_t未命名类型

C++中的linux/types.h访问size_t的正确方法是什么?

附言:头文件包含一个#ifdef _cplusplus extern "C" { #endif

不要在用户空间中包含内核标头。

如C和C++标准中所述,size_t<stddef.h>中定义(对于C++,<cstddef>定义std::size_t)。

Defined in header <cstddef>
Defined in header <cstdio>
Defined in header <cstring>
Defined in header <ctime>
Defined in header <cstdlib> (since C++11)
Defined in header <cwchar> (since C++11)

http://en.cppreference.com/w/cpp/types/size_t