包含3个文件夹,和一个文件Makefile

目录组织结构如下:

Makefile

inc/hello.h

main/main.c

src/hello.c

Makefile文件在外面,这样生成的.o和可执行文件都在外面,clean之后会很干净,结构清晰

文件内容如下:

Makefile(之所以用大写,因为make可以识别Makefile和makefile,用大写可以鲜明一些)::

# String declaration objects = main.o hello.o # Command app : $(objects) cc -o app $(objects) main.o : main/main.c hello.h cc -c main/main.c hello.o : src/hello.c stdio.h cc -c src/hello.c # Search paths vpath %.h /usr/include inc # Clean the intermediate files .PHONY : clean clean : rm app $(objects)

hello.h:

void hello(char name[]);

main.c:

#include <stdio.h> #include "../inc/hello.h" // The second hello.h should in "" int main() { hello("GCC"); printf("Haha Linux Ubuntu!/n"); return 0; }

其中,第二个包含文件,hello.h,必须要用"",如果用<>则gcc只会到系统目录下去搜索,不会到本当前目录下搜索

就是""在用户目录下,<>在系统目录下,这个在windows上不严格, 在linux里似乎很严格

hello.c:

#include <stdio.h> void hello(char name[]) { printf("Hello %s!/n", name); }

转载于:https://www.cnblogs.com/yanhc/archive/2010/03/17/2175258.html

Linux GCC make文件的写法4--清晰版相关推荐

  1. linux查看pro文件,Linux下.pro文件的写法简介

    1. 注释 从"#"开始,到这一行结束. 2. 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp 3.cpp ...

  2. Linux系统间文件双向同步搭建Unison版

    一.Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件 ...

  3. linux编译lnx文件命令_(完整word版)Linux常用命令手册大全,推荐文档

    NO 分类 PS 1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以 . 头的隐含文件 文件管理 # ls ls -l 或 ll 列出当前 ...

  4. Linux C try 头文件,linux c 头文件

    //1.Linux中一些头文件的作用: #include //ANSI C.提供断言,assert(表达式) #include //GCC.GTK,GNOME的基础库,提供很多有用的函数,如有数据结构 ...

  5. Linux平台Makefile文件的编写基础篇和GCC参数详解

    问:gcc中的-I.是什么意思....看到了有的是gcc -I. -I/usr/xxxxx..那个-I.是什么意思呢 最佳答案 答:-Ixxx 的意思是除了默认的头文件搜索路径(比如/usr/incl ...

  6. linux下make 文件写法之简单函数调用

    有如下func1.h.func1.cpp以及func2.h.func2.cpp,它们被main.cpp里的main函数调用, func1:头文件和cpp文件如本表格所示 //func1.h #ifnd ...

  7. linux创建c文件编译错误,gcc已安装,编译其他软件时提示c编译器无法创建可执行文件...

    操作系统是:redhat 5以上版本,具体忘了 系统内核是:Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11 ...

  8. linux gcc编译下的文件读写操作

    linux下的文件操作 所有目录             1.文件及文件系统的定义             2.linux文件的类型             3.linux文件的权限          ...

  9. Linux下多文件链接执行及调试技术

    链接及调试 一.多文件链接的方法 1.多文件链接的一般方法 2.多文件链接的makefile方法 二.调试 1.安装gdb的命令: 2.单进程.单线程基础调试命令 3.基础调试 一.多文件链接的方法 ...

  10. linux 下删除文件的 操纵

    linux   下删除 文件的 方法::: 1-  remove remove(删除文件) 相关函数 link,rename,unlink 表头文件 #include<stdio.h> 定 ...

最新文章

  1. 数据库SQL Server2012笔记(二)——表的管理
  2. Android 常用框架集合
  3. ldap odbc mysql_Mysql+ODBC+OpenLDAP
  4. datatable.select()的一个问题
  5. 用java编写一个计算器_用java程序编写一个计算器
  6. Python 柱状图 横坐标 名字_Python气象绘图教程(四)
  7. JSON字符串和JSON对象的相互转换
  8. 快播王欣发布匿名IM社交软件“马桶MT”
  9. ITIL-IT运维管理-概述
  10. linux下c/c++实例之十四c实现的bt软件下载(记录)
  11. js常用正则 验证数字正则
  12. Python中的easy_install安装
  13. java 获取当前第几周_java 计算当前日期是今年的第几周 和 该周的开始日期及结束日期...
  14. 你若安好便是晴天nbsp;---------…
  15. Vue3.0实现原生高度可自定义菜单组件vue3-menus
  16. 计算机科学终审多长时间,一些计算机科学核心期刊的投稿经验
  17. 最适合深夜失眠听的歌,听了最容易入睡的歌曲推荐
  18. 手机中的传感器:重力感应器、加速度传感器、陀螺仪、电子罗盘和光线距离感应器
  19. python:实现计算电阻Calculate resistance(附完整源码)
  20. 西门子HMI使用全局区域指针画面号实现画面跳转

热门文章

  1. c 连接mysql通用_用C语言操作MySQL数据库的通用方法
  2. 使用webbench进行压力测试
  3. HDU TIANKENG’s rice shop(模拟)
  4. ES6的Set()方法实现数组去重
  5. SharePoint 2013 母版页修改后,无法添加应用程序
  6. 活动目录管理之批量创建域用户
  7. 搭建Web和FTP站点
  8. 下午,无心编程,读小诗...
  9. 118、杨辉三角(python)
  10. 孩子们的游戏(圆圈中最后剩下的数)(Python)