gpt4 book ai didi

c - 为什么 Go 似乎无法识别 C 头文件中的 size_t?

转载 作者:IT王子 更新时间:2023-10-29 01:48:47 27 4
gpt4 key购买 nike

我正在尝试编写一个将充当 C 库前端的 go 库。如果我的一个 C 结构包含 size_t ,我得到编译错误。据我所知size_t是内置的 C 类型,为什么不去识别它呢?

我的头文件看起来像:

typedef struct mystruct
{
char * buffer;
size_t buffer_size;
size_t * length;
} mystruct;

我得到的错误是:

gcc failed:
In file included from <stdin>:5:
mydll.h:4: error: expected specifier-qualifier-list before 'size_t'

on input:

typedef struct { char *p; int n; } _GoString_;
_GoString_ GoString(char *p);
char *CString(_GoString_);
#include "mydll.h"

我什至尝试添加 // typedef unsigned long size_t// #define size_t unsigned long#include 之前的 .go 文件中,然后我得到“gcc produced no output”。

我看过these questions , 并查看了 example没有成功。

最佳答案

根据 C99,§7.17size_t不是内置类型,而是在 <stddef.h> 中定义的.

关于c - 为什么 Go 似乎无法识别 C 头文件中的 size_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com