newasp home
用户管理  |  用户注册
首 页 ┆ 文章中心 ┆ 下载中心 ┆ 社区论坛 ┆ 客户留言
  • 站点首页
  • 电脑网络技术
  • 图形图象技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
用户名: 密码:
当前位置:PC我爱社区 → 文章中心 → Linux技术 → 文章内容

Linux下Makefile文件简单概念

减小字体 增大字体 作者:网络  来源:转载  发布时间:2008-5-16 19:55:40

COOCO视频会议实现沟通创造价值!    影视制作、广告摄影、3D制作、企业形象策划
文红论文网提供各类论文发表和翻译 像素科技--全力推出主机租用特惠行动!


将各个模块的关系写进makefile,并且写明了编译命令,这样,当有模块的源代码进行修改后,就可以通过使用make命令运行makefile文件就可以进行涉及模块修改的所有模块的重新编译,其他模块就不用管了。

makefile文件的写法:

目标, 组件

规则


例如 有下面5个文件:

/* main.c */

#include "mytool1.h"

#include "mytool2.h"

int main(int argc,char **argv)

{

mytool1_print("hello");

mytool2_print("hello");

}

/* mytool1.h */

#ifndef _MYTOOL_1_H

#define _MYTOOL_1_H

void mytool1_print(char *print_str);

#endif

/* mytool1.c */

#include "mytool1.h"

void mytool1_print(char *print_str)

{

printf("This is mytool1 print %s\n",print_str);

}

/* mytool2.h */

#ifndef _MYTOOL_2_H

#define _MYTOOL_2_H

void mytool2_print(char *print_str);

#endif

/* mytool2.c */

#include "mytool2.h"

void mytool2_print(char *print_str)

{

printf("This is mytool2 print %s\n",print_str);

}

可以这样进行编译以便运行main这个可执行文件

gcc -c main.c (生成main.o)

gcc -c mytool1.c (生成mytool1.0)

gcc -c mytool2.c (生成mytool2.0)

gcc -o main main.o mytool1.o mytool2.o (生成main)


也可以这样写makefile文件


main main.o mytool.o mytool2.o

gcc -0 $@ $^

main.0 main.c mytool1.h mytool2.h

gcc -c $<

mytool1.0 mytool1.c mytool1.h

gcc -c $<(或者是mytool.c)

mytool2.0 mytool2.c mytool2.h

gcc -c $<(或者是mytool2.c)


通过make命令可以运行该文件,也就是进行编译了。


linux上有很多库,c语言编写的各种库的总称为libc,glibc为libc的一个子集,由gnu提供,内核提供的系统函数和系统调用是不包括在libc中。

linux系统默认会安装glibc

glibc中

常用库gcc会自动去查找,不予理会。

在/lib, /usr/lib, /usr/local/lib 在这三个路径下面有一些标准库,只需-l+库名 可以不必要指定路径。其他库必须在用gcc时用-L+具体的路径。

[] [返回上一页] [打 印]
  • ·上一篇文章:Linux系统开防火墙时自动开启相对应端口
  • ·下一篇文章:学习笔记:Linux下chkconfig、mount、shutdown

文章评论评论内容只代表网友观点,与本站立场无关!

用户名: ! 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容: !

         (注“!”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

频道栏目导航

  • 电脑网络技术
  • 图形图象技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
  • 更多分类

本类热门阅览

  • · 如何在linux网卡上添加多个IP
  • · linux下vi编辑器命令大全
  • · 初探Red Hat企业级linux4.0的安全性...
  • · Linux服务器日志管理详解
  • · Linux如何在系统运行过程中修改内核...
  • · 如何在Linux系统环境中模拟DOS命令...
  • · 使Linux系统上的程序开机后自动运行...
  • · Linux文件权限的设置方法
  • · Linux系统开防火墙时自动开启相对应...
  • · 学习笔记:Linux下chkconfig、moun...
  • · 初学者入门:FreeBSD服务器的安装与...
  • · Linux与Windows CVS服务器配置与使...

相关文章

  • ·系统管理:基于Linux的负载均衡技术介绍
  • ·在Linux系统上用Qpopper建立POP3服务器
  • ·RedHat Linux的RHCE考試认证的主要方向
  • ·Linux系统开防火墙时自动开启相对应端口
  • ·各个击破Linux病毒 保护Linux系统安全
  • ·非虚拟环境让Windwos飞速运行Linux程序
  • ·绿色比拼:Linux与Windows Server 2008
  • ·Linux服务器前台常出现的错误提示及含意
  • ·RedHat Linux 9.0下架设安全邮件服务器
  • ·Linux环境下网络服务器基础
  • ·Linux系统上架设一台高容量的POP3服务器
  • ·Linux如何在系统运行过程中修改内核参数

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆

PC我爱社区 站长:子昀 点击这里和我联系
沪ICP备06047794号