发布时间:2014-02-11 17:08:44
为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈之前看了很多关于uboot的分析,其中就有说要为C语言的运行,准备好堆栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有堆栈指针初始化这个动作。但是,从来只是看到有人说系统初始化要初始化堆栈,即正确给堆栈指针sp赋值,但是.........【阅读全文】
发布时间:2014-01-09 17:03:58
来看一个网上很流行的经典例子:main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 p1 =.........【阅读全文】
发布时间:2014-01-09 15:55:14
1,在系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。 errno这个全局变量在头文件中声明如下:extern int errno; errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,.........【阅读全文】
发布时间:2014-01-09 15:54:12
摘自 open group 网站 ,原文排版更好,原文链接:http://pubs.opengroup.org/onlinepubs/009695399/basedefs/netdb.h.htmlNAMEnetdb.h - definitions for network database operationsSYNOPSIS#include DESCRIPTIONThe header may define the in_port_t type and the in_addr_t type .........【阅读全文】