gpt4 book ai didi

c - 编程前如何知道不同体系结构下C中原始类型的大小

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:51 25 4
gpt4 key购买 nike

我们大学有两种远程系统;我们可以远程连接到他们并工作。我在其中一个系统上编写了一个 C 程序,其中 void 指针的大小和 size_t 变量的大小为 8 个字节。但是当我连接到其他系统时,我的程序开始以不同的方式工作。我为此浪费了太多时间调试,最后发现这是由于两个系统之间的架构差异导致的。

我的问题是:

On what factors the size of primitive types depend?

How to know the size of primitive types before we start programming?

How to write cross platform code in C?

最佳答案

问题:

On what factors the size of primitive types depend?

CPU 和编译器。

问题:

How to know the size of primitive types before we start programming?

你不能。但是,您可以编写一个小程序来获取基本类型的大小。

    #include <stdio.h>

int main()
{
printf("Size of short: %zu\n", sizeof(short));
printf("Size of int: %zu\n", sizeof(int));
printf("Size of long: %zu\n", sizeof(long));
printf("Size of long long: %zu\n", sizeof(long long));
printf("Size of size_t: %zu\n", sizeof(size_t));
printf("Size of void*: %zu\n", sizeof(void*));
printf("Size of float: %zu\n", sizeof(float));
printf("Size of double: %zu\n", sizeof(double));
}

问题:

How to write cross platform code in C?

  1. 最小化依赖于原始类型大小的代码。
  2. 在平台之间交换数据时,尽可能使用文本文件作为持久数据。

关于c - 编程前如何知道不同体系结构下C中原始类型的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469893/

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