Linux C语言
小马过河@泽
这个作者很懒,什么都没留下…
展开
-
全局变量与局部变量在内存中的区别详细解析
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,转载 2015-08-26 22:32:19 · 539 阅读 · 0 评论 -
面试再谈struct和union大小问题
最近找工作参加了很多笔试,其中考察结构体和联合体的大小问题是经常出现的一个问题。虽然题目简单而且分值比较低,但是还是想再给大家回顾下这些C和C++的基础知识。希望文章对你有所帮助~ PS:意外惊喜第三部分,所有权归它们公司所有。我只想分享学习并无它,望海涵~一. 真题介绍 1.[2015-9 完美] 在IA32架构下,下面的union结构的s转载 2015-10-05 16:18:20 · 1119 阅读 · 0 评论 -
多线程之间的同步控制
问题:同时运行的几个线程需要共享一个数据,并且要考虑到彼此的状态和动作。例如,当一个线程对共享的数据进行操作时,在没有完成相关操作之前,不允许其他线程打断它,否则会破坏数据的完整性。也就是说,被多个线程共享的数据在同一时刻只允许一个线程处于操作之中。 实现原理: 为了保证线程安全,使用“锁旗标”;当转载 2015-10-05 16:20:44 · 500 阅读 · 0 评论 -
windows多线程详解
在一个牛人的博客上看到了这篇文章,所以就转过来了,地址是http://blog.csdn.net/morewindows/article/details/7421759本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底转载 2015-10-05 15:44:00 · 520 阅读 · 0 评论 -
C语言中volatile关键字的作用
一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的转载 2015-10-05 16:04:39 · 280 阅读 · 0 评论 -
Linux下动态库与静态库
linux下静态库和动态库一些东西http://www.cnblogs.com/changefuture/archive/2011/12/22/2297460.htmlLinux 动态链接库和静态库示例文件预览文件目录树如下,如你所见,非常简单。libtest/ |-- lt.c |-- lt.h `-- test.c 代转载 2017-05-08 22:21:46 · 237 阅读 · 0 评论 -
编写优质嵌入式C程序
前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在裸机环境下编写优质嵌入式C程序。感觉是有一定的参考价值,所以拿出来分享,抛砖引玉。转载请注明出处:http://blog.csdn.net/zhzht19861011/article/details/45508029摘要:本文首先分析了C语言的陷阱和缺陷,对容易犯错的地方进行归纳整理;分析转载 2017-08-24 22:15:58 · 460 阅读 · 0 评论