Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

GCC详解

GCC详解

GCC编译过程GCC是Linux上功能最强大的C语言编译器,在使用GCC编译程序的时候,编译过程分为4个阶段:预处理(Pre-Processing)这一步,GCC调用预处理程序cpp,将源文件中定义的宏展开,并将#include头文件的内容插入源文件,生成一个以.i为后缀的新文件。GCC -E 源码文件 -o 预处理生成文件编译(Compiling)这一步,GCC调用ccl程序将预处理生成的.i文件编译成以.s为后缀的汇编文件。GCC -S 预处理后的文件...
C语言不使用中间变量交换两个数

C语言不使用中间变量交换两个数

1. a^=b^=a^=b;2. a = a + b; b = a - b; a = a - b;网上听说有人在gcc下不使用编译优化的情况下第一种方法不起作用,特意尝试了下,结果是正确的。windows:visual studio 2005:通过linux:gcc 4.6.3 :通过strtok函数,用于分割字符串,第一次调用使用被分割字符串,后面使用null,指导返回null。另一个是strtok_r函数,功能类似。c89, c99支持,posix支持...
Java Swing 垂直流布局管理器实现

Java Swing 垂直流布局管理器实现

最近写一个java UI,需要用到垂直流布局管理器,要求该管理器能够实现内部组件的宽度自适应。看了swing提供的5个布局管理器,尝试的实现效果都不理想,看来只能自己搞一个了,好在网上已有实现,其测试效果如下图:图一 垂直流布局管理器实现效果具体代码如下:清单一:importjava.awt.Component;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.FlowLayo...
赛门铁克:Linux垃圾邮件威胁势头上升

赛门铁克:Linux垃圾邮件威胁势头上升

据国外媒体报道,赛门铁克公司旗下在线信息和网络安全服务商MessageLabs最新的研究报告称,相比其他操作系统,Linux垃圾邮件数量与其市场份额极不相称。 通过被动特征探测(Passive Fingerprinting)方法,MessageLabs监测了2009年11月份至2010年3月份间各类操作系统的垃圾邮件传播情况。 MessageLabs 分析师Paul Wood(保罗-伍德)表示,Windows系统占据着90%以上的市场份额,因此绝大部分...
最轻量级的C协程库:Protothreads

最轻量级的C协程库:Protothreads

协程的好处不用再多说,作为与函数调用/返回相对的概念,它使我们思考问题的方式经历一场变革。现在我们关注的是C,由于C本身的特质,将协程引入其中将会是一 个挑战。无数先驱已经为这个目标抛了头颅洒了热血,于是我们有了libtask之类。而这里提到的,是一个堪称最轻量级的协程实现:Protothreads(主页:http://www.sics.se/~adam/pt/)。所谓最轻量级,就是说,功能已经不能再精简了,几乎就是原语级别的。——确实,这种最简带来了一些...
Android Handler Message多线程实例

Android Handler Message多线程实例

什么是Handlerhandler通俗讲就是在各个进程之间发送数据的处理对象。在任何进程中,只要获得了另一个进程的handler则可以通过 handler.sendMessage(message)方法向那个进程发送数据。基于这个机制,我们在处理多线程的时候可以新建一个thread,这 个thread拥有UI线程中的一个handler。当thread处理完一些耗时的操作后通过传递过来的handler向UI线程发送数据,由UI线程去更新界面。Handler类简...
如何使用Java synchronized进行线程同步

如何使用Java synchronized进行线程同步

这篇文章从网上找到的,作者是谁不详,因为到处都是转帖。看了之后,解开了我对synchronized的一些疑问,同时也验证了我之前的理解是正确的,记录下来。在java编程思想中对synchronized的一点解释:1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访...
C语言中通过函数指针实现函数重载

C语言中通过函数指针实现函数重载

我们都知道重载是c++面向对象的特性。c语言中是不存在的。所谓重载简单来说就是一个函数名可以实现不同的功能,要么输入参数不同或者参数个数不同,要么返回类型不同。例如函数add(),在c++中可以轻易实现int,double等不同类型参数的相加功能,而在c语言中却不能这样实现。c语言中实现重载功能,或者准确来说是类似重载的功能,可以通过函数指针的方式来实现。下面为演示代码:typedef struct _int_param { int param1; int...
正则表达式30分钟入门教程

正则表达式30分钟入门教程

正则表达式30分钟入门教程目录本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你...
<< 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 >>