开放源码:就是程序代码,写给人类看的程序语言,但机器并不认识,所以无法执行;

编译程序:将程序代码转译成为机器看得懂的语言,就类似编译者的角色;
可执行文件:经过编译程序变成二进制后机器看得懂所以可以执行的文件;
 
make 会在当前目录搜索 makefile文件,makefile里面记录了源码如何编译的信息 
configure 建立makefile文件
 
gcc编译文件
gcc hello.c  会生成一个目标文件 默认是a.out,如果想生成目标文件(object file)来进行其他的操作
,而且执行文件的文件名也不要默认的a.out 
gcc - c hello.c 这样就会生成目标文件 hello.o
gcc -o hello hello.0  生成可执行文件 hello
 
就生成
 
make的好处 
1、简化编译时所需要执行的命令
2、若在编译完成后,修改某个源码文件,则make仅会针对被修改的文件进行编译,其他的目标文件不会
被修改。
3、最后可以依照相一性来更新执行文件
 
makefile文件
例如
main:main.o haha.o sin.o
     gcc -o main main.0 haha.o sin.o
clean:
     rm -rf main main.o haha.o sin.0
 
当执行make clean时,删除目标文件

linux make configure make的更多相关文章

  1. 【Linux技术】linux之configure,pkg-config和PKG_CONFIG_PATH

    linux之configure,pkg-config和PKG_CONFIG_PATH 1.初衷 1)前面在装gtk时冒出来一个pkg-config,当时虽然不大清楚它是个什么东西,不过大致了解了下它的 ...

  2. [转]Linux中configure/makefile

    本文教你如何使用autoconf.automake等来制作一个以源代码形式(.tar.gz)发布的软件.并可在执行configure时使用自定义参数. 一.概述和基础知识 在Linux下得到一个以源代 ...

  3. Linux 下configure 参数配置与软件的安装与卸载

    Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  4. linux下configure,make,make install的意义

    tar.gz.tar.bz2的是源代码包,需要编译之后才能安装,在编译过程中你可以指定各种参数以适应你的系统需求,比如安装位置,优化参数,要哪些功能不要哪些功能等等.这类源代码包需要解压后(tar.g ...

  5. Linux中./configure、make、make install详解

     ./configure && make && make install详解 2010-08-03 23:30:05 标签:休闲 ./configure &&a ...

  6. LINUX软件./configure 配置出现:configure: error: newly created file is older than distributed files!

    当在安装tar源码包的时候出现以下报错如何解决? [root@jieniruyan gst-fluendo-mp3-]# ./configurechecking for a BSD-compatibl ...

  7. Linux中 ./configure --prefix命令

    源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configu ...

  8. Linux 之 ./configure --prefix 命令

    参考 http://blog.sina.com.cn/s/blog_406127500101dsmy.html 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(mak ...

  9. Linux下./configure && make && make install 编译安装和卸载

    正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install).   configure文件是一个可执行的脚本文件,它有很多选项, ...

随机推荐

  1. javascript解析器原理

    浏览器在读取HTML文件的时候,只有当遇到<script>标签的时候,才会唤醒所谓的“JavaScript解析器”开始工作. JavaScript解析器工作步骤 1. “找一些东西”: v ...

  2. 配置Mac漂亮的Shell--Iterm2+OhMyZSH+Agnoster

    安装包管理器 首先当然是解决包管理的问题,Mac下面是Homebrew的天下了 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubuserco ...

  3. 如何分离p12(或pfx)文件中的证书和私钥

    p12(或者pfx)文件里一般存放有CA的根证书,用户证书和用户的私钥 假设我们有一个test.p12文件 在安装了openssl的linux服务器上执行以下命令: 提取用户证书: openssl p ...

  4. Bulk Convert DOC to DOCX

    原文链接 :http://blogs.msdn.com/b/ericwhite/archive/2008/09/19/bulk-convert-doc-to-docx.aspx 帮助文档:http:/ ...

  5. 【CF772D】Varying Kibibits FWT

    [CF772D]Varying Kibibits 题意:定义函数f(a,b,c...)表示将a,b,c..的10进制下的每一位拆开,分别取最小值组成的数.如f(123,321)=121,f(530,  ...

  6. Java虚拟机一

    Java发展至今,出现了很多Java虚拟机,从最初的Classic的Java虚拟机到Exact VM虚拟机,到现在最终被大规模部署和应用的是Hotspot虚拟机.       整数在Java虚拟机中的 ...

  7. ch 与等宽字体

    难题 有的时候,特别想通过字符来判断元素的长度,比如: 多行文本溢出时,文字变省略号 文字一个个的显示 效果分别如下: 第一种情况下,如果可以通过字符的数量判断长度是否溢出,从而把最后几个字符替换成省 ...

  8. 2018C语言第二次作业

    一.学习内容总结 1.指针是一种数据类型,同样占有空间,其存储的是内存地址: 2.定义指针变量要在变量名之前加“*”字符表示: 3.“&”是取地址运算符,“*”是间接运算符: (注:声名和使用 ...

  9. FZU 2252 Yu-Gi-Oh!(枚举+贪心)

    Problem 2252 Yu-Gi-Oh! Accept: 105    Submit: 628 Time Limit: 1000 mSec    Memory Limit : 32768 KB   ...

  10. java 中形参与实参的转换

    java中有两个参数,一个是形参,一个是实参. 形参:在函数定义中,整个函数体内部都可以使用,离开了该函数就不能继续使用. 实参:出现在主函数中,进入被调函数后,实参变量也就不能继续使用. publi ...