linux中make用法
在我们用源码方式安装软件的时候,最经常使用的编译方式就是make,运行make它会默认的主动的寻找当前目录下的名为Makefile的文件,也就是执行Makefile内的内容,这里列出小例子旨在介绍make的原理和用法!
1、首先编写程式
[root@localhost tmp]# vim HelloWorld.c
#include <stdio.h>
int main()
{printf("Hello wanzi!!\n");return 0;
}
[root@localhost tmp]# export PATH=./:$PATH(将当前路径加入PATH,运行执行文件的时候不必再采用./file的形式,二是直接file即可)
[root@localhost tmp]# gcc -o main HelloWorld.c (测试刚才书写的程式格式有无错误)
[root@localhost tmp]# ll(这个就是可执行档)
-rwxr-xr-x 1 root root 4950 Mar 16 02:54 main
[root@localhost tmp]# main(正常输出,表示没错误)
Hello wanzi!!
[root@localhost tmp]# rm -rf main (为了不干扰下边的实验,删除刚生成的执行档)
2、编写Makefile
[root@localhost tmp]# vim Makefile
LIBS = -lm -L/lib -L/usr/lib(设立别名,别名一般情况下要求大写字符,但是可以是任何字符,-lm -L/lib -L/usr/lib表明调用函数库)
OBJECT = HelloWorld.o(这个是执行#gcc -c HelloWorld生成的执行档,上边的实例实际是隐含这一步骤,这里拿出来了)
CFLAGS = -Wall -O(优化参数,如有提示warning可以不用管)
main : ${OBJECT}(执行的部分,生成名为main的最终执行档)gcc -o main ${OBJECT} ${LIBS}(gcc编译的过程)
clean :rm -rf main ${OBJECT}(运行#make clean时删除执行过程中的垃圾文件,也就是套件安装成功后遗留的文件)
[root@localhost tmp]# make(编译,生成类似configure的可执行文件)
cc -Wall -O -c -o HelloWorld.o HelloWorld.c
gcc -o main HelloWorld.o -lm -L/lib -L/usr/lib
[root@localhost tmp]# ll
-rw-r--r-- 1 root root 74 Mar 16 02:49 HelloWorld.c
-rw-r--r-- 1 root root 888 Mar 16 03:05 HelloWorld.o
-rwxr-xr-x 1 root root 5006 Mar 16 03:05 main
-rw-r--r-- 1 root root 148 Mar 16 03:02 Makefile
[root@localhost tmp]# main(执行结果)
Hello wanzi!!
[root@localhost tmp]# make clean(清除垃圾文件)
rm -rf main HelloWorld.o
[root@localhost tmp]# ll(再次查询,就只剩下下边的了)
-rw-r--r-- 1 root root 148 Mar 16 03:02 Makefile
-rw-r--r-- 1 root root 74 Mar 16 02:49 HelloWorld.c
这个小实例,可以运用到c语言的编程上,同时描述出软件安装的原理!
linux中make用法相关推荐
- Linux中find用法整理
一.Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} /; ...
- Linux中EOF用法
Linux中EOF用法 理解:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF. EOF一般会配合c ...
- Linux中wait用法
Linux中wait用法: 系统中的僵尸进程都要由wait系统调用来回收. 函数原型: #include<sys/types.h> #include<sys/wait.h> p ...
- Linux中find用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将 ...
- linux密码叹号,Linux中“!”感叹号用法技巧大全
这篇文章主要给大家介绍了关于Linux中"!"你不知道的惊叹用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习 ...
- linux中daemonize用法,daemonize Unix系统后台守护进程管理软件
在我们的工作中,很多时候都需要在linux中后台运行程序, 方法1: nohup & 方法2: daemonize Unix系统后台守护进程管理软件 优点:更加正规 后台运⾏更稳定 git c ...
- get在linux中的用法,在Linux中使用GetKeyState(VK_CAPITAL)1
#include int main() { if ( !GetKeyState(VK_CAPITAL) & 1 ) { printf("caps off"); } else ...
- Linux中SCP用法
在linux中,两台服务器如何互传文件? 如果想拷贝本地文件到另外一台ssh终端,可以使用以下命令: scp +包名 +远程主机名+存放的绝对路径 如 scp shopfront-0.0.1-SNAP ...
- linux中gawk用法,Linux - gawk 命令
gawk 是 awk 的 GUN 版 =========================================== 是一种<模式扫描和处理>语言.它搜索一个或多个文件,查看这些文 ...
- linux中mfsort用法,Linux命令――sort
sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 用法:sort [OPTION]... [FILE]... 参 数: -b ...
最新文章
- no no no.不要使用kill -9.
- PTA数据结构与算法题目集(中文)7-14
- Zabbix Python API 应用实战
- 使用Windows Mobile Device Center进行手机的同步
- Make It Connected
- 阿里云安装mysql5.7_同一服务器上二进制安装mysql5.7和mysql5.6
- jsp不能使用return时候,如何在出异常时退出,不在向下执行
- mysql 语句 not_mysql sql语句 is not 用法是
- 正则表达式各种常规应用
- Samba 共享目录设置在Home目录下
- 【原】115网盘下载地址解析工具(暂停更新)
- Java垃圾回收机制(GC)
- 老子哲学与太极拳技击
- 上海高一计算机奥赛,上海物理奥赛金牌“大神”爱番剧和高达,已保送清华大学姚班...
- 618电商平台鏖战,天猫618才是绝对主场
- 双路服务器56核系统推荐,华硕发布双路志强主板:最高支持56核,112线程
- 阿里云服务器购买折扣优惠券及注意事项
- AD633JRZ-ASEMI代理ADI亚德诺AD633JRZ车规级芯片
- SQL Server添加MDW性能监控报表
- 字节顺序标记(BOM)详解
热门文章
- 中国历朝地图[11P]
- 平移变换计算机图形学c语言代码,计算机图形学第一次作业——平移,缩放和旋转...
- 日本“冷知识”你都知道吗?
- setTimeout() 和 setInterval 定时器的使用(带例题)
- CRM客户管理系统的重要性体现在哪些方面?
- OpenCV入门【C++版】
- excel中的抽奖程序
- C语言 环境变量配置
- 阿帕奇SSL https配置
- Java中Integer.valueOf()解读