51CTO博客开发
在讨论全局变量之前我们先要明白几个基本的概念: 1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下
1. gcc的__attribute__编译属性 要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或定义的函数或 数据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure表明函数除 返回值外,不会通过其它(如全局变量、指
【摘要】: 本文详解了内核中面向对象的list结构的原理,以及如何以list为内嵌对象来构造自己的链表结构,如何从内嵌list对象获得自定义的对象指针;探讨了各种宏或者函数的详细使用方法及怎样以通用list结构来操作自定义对象。 【关键字】:双向循环链表,list,list_entry,typeof,containerof,list_for_each,list_for_each_entry 1
定义静态全局变量还有以下好处: 静态全局变量不能被其它文件所用; 其它文件中可以定义相同名字的变量,不会发生冲突; 全局变量和全局静态变量的区别 1)全局变量是不显式用static修饰的全局变量,但全局变量默认是静态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局
虽然从很久前就开始用 VIM 了,但一直都是半调吊子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门的文章,原文是英文版的,我觉得非常适合 VIM 使用入门,所以翻译了过来。这里是简单的介绍了 VIM 的操作方式,并没有说为什么要用 VIM,如果你想知道答案可以去 Google,VIM 被誉为编辑器之神
小弟刚刚接触LINUX编程,一直在想LINUX有没有类似MSDN的东西,百度后才恍然大悟,原来LINUX下有MAN(或INFO)啊~~
struct in_addr address; address.s_addr = inet_addr(argv[1]); host = gethostbyaddr((char *)&address, 4, AF_INET); //得到主机的相关信息
在IEEE 802.16-2004中,进入每个子层未被处理的数据称为服务数据单元(SDU),经过子层处理后形成特定格式的数据被称为协议数据单元(PDU)。同时,本层形成的PDU即为下一层的SDU。CPS子层对经过CS子层汇聚之后的服务数据单元(SDU)进行打包(Packing)和分段(Fragmentation)操作,把数据重新整理成适合空中接口传输的SDU并加上MAC头形成PDU。MAC经过串连
FDD与TDD工作原理 频分双工(FDD) 和时分双工(TDD) 是两种不同的双工方式。如图1所示,FDD是在分离的两个对称频率信道上进行接收和发送,用保护频段来分离接收和发送信道。FDD必须采用成对的频率,依靠频率来区分上下行链路,其单方向的资源在时间上是连续的。FDD在支持对称业务时,能充分利用上下
最近在研究U盘中的LINUX操作系统,发现PUPPY LINUX非常不错,体积小速度快,安装简单。但是还有很多不方便的地方,发现LINUX自带的VI并不是真正的VI,而是一个E3模拟器,虽然功能与VI差不多,不过没有VIM好用,编程起来极不顺手。于是决定自己装个VIM,不过PUPPY是一个比较特殊的LINUX,没有现成的RPM或者DEB包来装,而起自己的PET包我在网上也没搜索到,
为了学习《linux程序设计》,从网上把书的源代码下了下来,结果在运行CD数据库例子的SHELL脚本的时候出现了错误。 : command not found : command not found : command not found : command not found : command not found : command not found : inv
嵌入式学习是一个长期而艰难的过程,起学习的步骤大概如下,至于教材,你可以针对每个阶段进行选择,现在国内好的教材不多,建议最好选择国外的教材! 使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。 学习步骤如下: 1、Linux 基础 安装Linux操作系统
大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下来才是最好的方法。其实,getch
如果想学习Unix/Linux的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。 然后再看DouglusE.Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号