软件
文章平均质量分 78
慵懒的小猪猪
学习是一种信仰!和梦想一样,并不是别人嘲笑的谈资!
展开
-
C语言中关于.h文件和.c文件详细解析
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可原创 2015-08-08 16:20:14 · 634 阅读 · 0 评论 -
怎么样哄好程序猿?真是醉了
作为一名运营人员,老板让我往东,我是不能往西的。老板让我写一篇《如何哄好程序猿?》,我是没有理由拒绝的。我确实也没有拒绝,但在我询问了众多程序猿之后,我后悔了,我这辈子从未如此后悔过!我后悔走进了程序猿们的内心深处,看到如此神奇的心理活动。上面这张图,我以为能完美地诠释程序猿的终极梦想。然而我错了。。。程序猿1:图片右一妹纸我喜欢~程序猿2:图片中的显示器我原创 2015-07-29 13:38:39 · 566 阅读 · 0 评论 -
程序员,为什么千万不要重写代码?
在程序员的圈子里有一个话题经久不衰:程序员入职新公司后接手已有的代码,怎么处理?程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟。但是,事实上真是这样吗?你之所以认为旧代码一原创 2015-07-29 13:42:42 · 555 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它原创 2015-08-07 12:29:12 · 285 阅读 · 0 评论 -
详解I2C(一)
概述:I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿原创 2015-08-07 14:04:24 · 542 阅读 · 0 评论 -
详解i2c(三)c语言实现
为了加深对I2C总线的理解,用C语言模拟IIC总线,边看源代码边读波形:如下图所示的写操作的时序图: 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序”完整的程序如下: #include#define uchar unsigned char#define uint unsigned int#defi原创 2015-08-07 14:10:11 · 5646 阅读 · 1 评论 -
详解I2C(二)时序
一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低原创 2015-08-07 14:07:54 · 830 阅读 · 0 评论