C
文章平均质量分 85
E_ROAD_BY_U
这个作者很懒,什么都没留下…
展开
-
一道可用背包问题解的华为编程题
题目描述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具工作椅无原创 2016-08-27 09:31:19 · 1998 阅读 · 0 评论 -
C编译过程总结
一、编译的全局概览编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)二、各原创 2016-10-04 11:44:11 · 948 阅读 · 0 评论 -
C语言结构体对齐总结
现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问都可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就是对齐。结构体对齐包括两个方面的含义1)结构体总长度; 2)结构体内各数据成员的内存对齐,即该数据成员相对结构体的起始位置;一、字节对齐的原因大致是如下两条1、平台原因(移植原因):不是所有的硬件平台都能访问原创 2016-10-04 18:51:20 · 625 阅读 · 0 评论 -
C语言程序的运行
一、程序的运行类型(下面有详细介绍)在嵌入式系统中,经过编译的C语言程序可以通过操作系统运行,也可以在没有操作系统的情况下运行。程序存放的位置和运行的位置通常是不一样的。一般情况下,经过编译后的程序存储在Flash或者硬盘中,在运行时需要将程序加载到RAM中。嵌入式系统的Nor Flash和硬盘还有一定的差别,在硬盘的程序必须加载到RAM中才可以运行,但是在Nor Flash中的程序可以通原创 2016-12-28 21:46:54 · 3486 阅读 · 0 评论 -
函数调用时发生了什么
第一步:函数调用1、对实参表从右向左,一次计算出实参的值,并且将值压栈。2、将函数调用语句下一条语句的地址保存到在栈中,以便函数调用完成后返回。(压栈)3、跳转到函数体处。第二步:函数体执行4、如果函数体中定义了变量,将变量压栈5、将每一个形参以栈中对应的实参值取代,执行函数体的功能体。6、将函数体中的变量、保存到栈中的实参值,依次从栈中取出,释放栈空间(出栈)。原创 2017-07-23 17:08:57 · 1616 阅读 · 0 评论