假设您具有以下结构:
#include <windows.h> // BOOL is here.
#include <stdio.h>
typedef struct {
BOOL someBool;
char someCharArray[100];
int someIntValue;
BOOL moreBools, anotherOne, yetAgain;
char someOthercharArray[23];
int otherInt;
} Test;
int main(void) {
printf("Structure size: %d, BOOL size: %d.\n", sizeof(Test), sizeof(BOOL));
}
当我在我的机器(32位操作系统)中编译这段代码时,输出如下:
Structure size: 148, BOOL size: 4.
我想知道,一旦编译,这些值是否会根据运行程序的机器而改变。例如:如果我在64位机器上运行该程序,输出是否相同?或者一旦它被编译,它将永远是相同的?
非常感谢,如果这个问题的答案显而易见,请原谅我......
答案 0 :(得分:5)
它是固定的,一旦编译就不会改变。在64位计算机上,它仍将作为32位应用程序运行。
答案 1 :(得分:2)