我感到惭愧的是,这是在C#中完成的最基本的任务,我似乎无法弄明白。是的,我可以编译它并让它运行,但我想解剖它并逐字逐句地理解它。
gcc -Wall -O2 -march=native
我很困惑为什么会这样。程序已创建但未调用。而且,这为int输出4,但4来自哪里?
我很感激任何理解这一点的帮助,不过,也许C#对我来说不是。 -_-
答案 0 :(得分:4)
已创建程序但未调用
Program.Main
是您程序的入口点,它被包含在您的.exe文件的元数据中。您可以在Visual Studio中看到项目设置下的入口点,或者如果您使用ILDASM来解组文件,您将在标题部分中看到它。
而且,这为int输出4,但是hes输出4 来自
sizeof
operator将产生非托管类型的字节大小。 int
关键字是Int32
的别名,它是整数类型的4字节代表。
答案 1 :(得分:2)
每个程序都有自己的入口点 - 通常这个条目在你的情况下称为Main函数:
void Main(string[] args)
sizeof(int)
会返回4
,因为这是您计算机上int类型的大小 - 4
字节。