结果与C的结果相同。

  说明:在C++中一般全局变量的初始化(类除外),是在编译期完成的,而不是在运行期完成。(与C语言规则相同)

  mainCRTStartup函数不管一般全局变量的初始化,它管理类(class)的全局变量的初始化,调用类的析构函数。

  编译器会在编译时,初始化一般全局变量为0.

  另:具有全局生命期的局部静态变量的初始化,与局部变量相同都是在运行时,执行到该初始化语句完成初始化的,只是局部静态变量只初始化一次。

  后记:

  1、程序不是从主函数开始执行的,而是先要执行一些启动代码。(现在明白为什么要在在嵌入式软件编程时要在工程中添加类似于75x_init.s和75x_vect.s这两个汇编文件了吧)

  2、你应该给主函数以返回值。实际上标准C只规定了两种形式的main函数:

  int main(void) 和 int main(int argc, char *argv[])

  main返回0,告诉系统程序正常终止,返回非零值告诉系统程序异常关闭.

  其作用:我们可以利用程序的返回值,控制要不要执行下一个程序。

  例:程序名&&DOS命令

  前面的程序正常执行后才执行后面的DOS命令。当然我们也可以用其它的逻辑符把程序和命令组织起来,来实现复杂的功能。

  (UNIX中的shell命令也有类似功能)