文章分类 - C 嵌入式程序员
摘要:前言:了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称为扩展)实现更多功能和优化。本文讨论一些重要的扩展,讲解如何在 Linux 内核中使用它们。正文:可以以几种方式对可用的 C 扩展进行分类。本文把它们分为两大类:●功能性 扩展提供新功能。●优化 扩展帮助生成更高效的代码。1)、功能性扩展:A、类型发现GCC 允许通过变量的引用识别类型。这种操作支持泛型编程。在 C++、Ada 和 Java? 语言等许多现代编程语
阅读全文
摘要:原文:http://apps.hi.baidu.com/share/detail/19786281http://hi.baidu.com/boobleoo0/blog/item/5f935039a37c58f8b311c77f.htmlhttp://topic.csdn.net/u/20110105/16/12717238-9816-4571-a03d-e8b603724946.html pthread_cond_wait()用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。pthread_cond_wait()
阅读全文
摘要:volatile使用主要考虑两个问题:1、编译器优化:一:告诉compiler不能做任何优化 比如要往某一地址送两指令: int *ip =...; //设备地址 *ip = 1; //第一个指令 *ip = 2; //第二个指令 以上程序compiler可能做优化而成: int *ip = ...; *ip = 2; 结果第一个指令丢失。如果用volatile, compiler就不允许做任何的优化,从而保证程序的原意: volatile int *ip = ...; *ip = 1; *ip = 2; 即使你要compiler做优化,它也不会把两次付值语句间化为一。它...
阅读全文

浙公网安备 33010602011771号