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

Linux下GCC编程四个过程(3)


4)链接阶段
(Link)
在成功编译之后,就进入了链接阶段。
无选项链接
用法:[root]# gcc hello.o –o hello.exe
作用:将编译输出文件hello.o链接成最终可执行文件hello.exe。
[root]# ls
hello.c  hello.exe  hello.i  hello.o  hello.s
运行该可执行文件,出现正确的结果如下。
[root@localhost Gcc]# ./hello
Hello World!
在这里涉及到一个重要的概念:函数库。
读者可以重新查看这个小程序,在这个程序中并没有定义”printf”的函数实现,且在预编译中包含进的”stdio.h”中也只有该函数的声明,
而没有定义函数的实现,那么,是在哪里实现”printf”函数的呢?最后的答案是:系统把这些函数实现都被做到名为libc.so.6的库文件中去了,
在没有特别指定时,gcc会到系统默认的搜索路径”/usr/lib”下进行查找,也就是链接到libc.so.6库函数中去,这样就能实现函
数”printf” 了,而这也就是链接的作用。
你可以用ldd命令查看动态库加载情况:
[root]# ldd hello.exe
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
函数库一般分为静态库和动态库两种。静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要
库文件了。其后缀名一般为”.a”。动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这
样可以节省系统的开销。动态库一般后缀名为”.so”,如前面所述的libc.so.6就是动态库。gcc在编译时默认使用动态库。


相关文档:

linux 源码学习计划

准备条件:必要的内核;必要的文档;必要的机器(虚拟机也可)。
第一周:
     1.linux和unix相比有哪些特点?
     2.内核编程和用户空间编程相比有哪些不同之处?
     3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的 ......

linux 下编辑 vi /etc/bash.bashrc

通过编辑linux的/etc/bash.bashrc文件来快速定位各个目录
alias mysqlw="mysql -uroot -p123456"
alias usr="cd /usr/local"
alias src="cd /usr/src"
alias sphinx="cd /usr/local/sphinx"
alias apahce="cd /usr/local/apache"
alias home="cd /home/data/dev_test_com"
alias php="/usr/local/php5/bin/php" ......

在Linux下安装和使用MySQL

二、安装Mysql
  1、下载MySQL的安装文件
  安装MySQL需要下面两个文件:
  
MySQL-server-4.0.16-0.i386.rpm   
  MySQL-client-4.0.16-0.i386.rpm
 
 下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页

下拉网页找到“Linux x86 RPM downloads”项,找到&ldq ......

linux vim 使用详解


vi vim 使用
vim 编辑器
首先简单的说一下vi编辑器──unix的通用编辑器,
读作vee-eye (visual editor的简写)。
(这里的vim,是改进的vi, Vi Improved简写,Vim 由Bram Moolenaar编写)
vi的工作模式
分为命令模式和插入模式 以及 : ex模式;
按esc键就可以让vi进入命令模式;
插入模式就是你输入文本的模式了。
......

Linux 信号(简略笔记)

    一、概要
      详细介绍:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html
       信号是UNIX和Linux系统响应结条件而产生的一个事件。接收到信号的进程会相应地采取一些行动。
    (1) 在系统 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号