如何在GCC中实现精确的宽度整数类型?

时间:2017-03-02 02:02:48

标签: c

例如,我的实现将char定义为1个字节,然后只是

typedef int8_t char;

在stdint.h中,还是存在实际的内存操作?

1 个答案:

答案 0 :(得分:2)

系统stdint.h可以对架构做出假设,并且知道short或int的大小。 macOS上的$this->session->set_flashdata('info', 'blog post created');非常容易阅读。这是相关的一点。

$this->load->helper('url');

您可以深入了解每个头文件并查看typedef。仔细研究它们,它们非常简单。

redirect("/blogs/$posts_id", "refresh");

/usr/include/stdint.h只是其中的无符号版本。

由于gcc不是Mac上的系统编译器,因此它不能对架构进行假设,因此它使用现有的stdint.h。这是gcc的stdint.h。它加载系统stdint.h,加上自己的标题来添加自己的非标准内容。

/* 7.18.1.1 Exact-width integer types */
#include <sys/_types/_int8_t.h>
#include <sys/_types/_int16_t.h>
#include <sys/_types/_int32_t.h>
#include <sys/_types/_int64_t.h>

#include <_types/_uint8_t.h>
#include <_types/_uint16_t.h>
#include <_types/_uint32_t.h>
#include <_types/_uint64_t.h>

/* 7.18.1.2 Minimum-width integer types */
typedef int8_t           int_least8_t;
typedef int16_t         int_least16_t;
typedef int32_t         int_least32_t;
typedef int64_t         int_least64_t;
typedef uint8_t         uint_least8_t;
typedef uint16_t       uint_least16_t;
typedef uint32_t       uint_least32_t;
typedef uint64_t       uint_least64_t;