易截截图软件、单文件、免安装、纯绿色、仅160KB

用GCC开发linux应用程序(经典)

用GCC开发linux应用程序(经典)
2009年11月01日 星期日 23:58
作为自由软件的旗舰项目,Richard Stallman 在十多年前刚开始写作 GCC 的时候,还只是把它当作仅仅一个 C程序语言的编译器;GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另一方面,说到 GCC
对于操作系统平台及硬件平台支持,概括起来就是一句话:无所不在。
1 程序编译过程
GCC是CUI(命令行交互界面)程序,这让许多从Windows走出来
Guier们感到恐惧。实际上它也有许多前端窗口界面,Windows下有Dev
C++,Linux下譬如KDevelopment,但既然选择了GCC还是将CUL进行到底吧,没有难与不难的问题,只有做与不做的问题!
下面基于一个具体而微的程序,讨论GCC的使用。示例程序如下:
//test.c#include int main(void){   printf("Hello World!\n");   return 0;}
这个程序,一步到位的编译指令是:
gcc test.c -o test
输出的可执行文件名为test,Windows用户可能会感到奇怪,可执行文件明怎么没有.exe扩展名呢?Linux系统中,文件类型并非以扩展名识别的!
实质上,上述编译过程是分为四个阶段进行的,即预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。
1.1 预处理  运行预处理命令:
gcc -E test.c -o test.i 或 gcc -E test.c

以输出test.i文件中存放着test.c经预处理之后的代码。打开test.i文件,看一看,就明白了。后面那条指令,是直接在命令行窗口中输出预处
理后的代码,而不是以文件作为输出设备。gcc的-E选项,可以让编译器在预处理后停止,并输出预处理结果。在本例中,预处理结果就是将stdio.h
文件中的内容插入到test.c中了。
gcc的-o选项,用于输出处理结果到文件中。
1.2 编译为汇编代码  预处理之后,可直接对生成的test.i文件编译,生成汇编代码:
gcc -S test.i -o test.s
gcc的-S选项,表示在程序编译期间,在生成汇编代码后,停止,-o输出汇编代码文件。
生成的汇编代码如下:
.file "test.c" .section .rodata .align 4.LC0: .string "Hello World,Linu


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

Linux下Oracle的安装详细步骤

 
1.       系统配置过程
2.1. oracle安装条件检查
2.1.1.               硬件检查
检查硬件情况是否符合oracle 10g 的安装要求。以root登录系统,用下表命令输出的值应大于或等于建议值。
检查项目
命令 ......

Redhat5 Linux 下利用yum安装SVN客户端

 
Redhat5下利用yum安装SVN客户端

由于Redhat5自带的SVN的版本是1.4.1的,比较老,不能读取SVN1.5的库,所有要更新:
直接运行:yum update subversion
会抱错:
http://ftp.sjtu.edu.cn/centos/5/updates/i386/repodata/repomd.xml: [Errno 14] HTTP Error 403: Forbidden
将repo地址改称USTC(科大的),
......

Linux机器增添一块新网卡

转自本人个人网站【PHP探路者 http://www.phpwell.com

原文地址 http://www.phpwell.com/?p=43
   公司内的一台测试服务器原本只是放在公司内网上使用,现需要将测试环境置于Internet上,
以便于客户即时了解项目进展情况。为Linux系统增添一块网卡的过程记录如下:
步骤一:将一块新 ......

Linux下免费3D图形设计工具

 如果你正在为你的linux
操作系统寻找免费而又够酷够炫的图形设计软件,你就来对地方了!这一次,我们将为你介绍在linux
操作系统7个应用广泛而且免费的3D图形设计软件。
    1、Blender
    【点击下载
Blender

 
    Blender是一个自由、开源的3D模型创作 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号