一 生成动态链接库的模板:

  

 #######################
# Makefile
####################### # compile and lib parameter
CC := g++
LIBS :=
LDFLAGS :=
DEFINES :=
INCLUDE := -I.
CFLAGS :=
CXXFLAGS:= # link parameter
#LIB := libfunc.so
LIB := libfunc.a #link
$(LIB):func.o
$(CC) -shared -o -fPIC -o $@ $^
#compile
func.o:thread.c
$(CC) -c -fPIC $^ -o $@ # clean
clean:
rm -fr *.o

 

二 编译可执行程序的模板:

 ###########################################
#Makefile for simple programs
###########################################
INC=
LIB= -lpthread CC=gcc
CC_FLAG=-Wall PRG=threadtest
#OBJ=thread.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o
OBJ=thread.o $(PRG):$(OBJ)
$(CC) $(INC) -o $@ $(OBJ) $(LIB) .SUFFIXES: .c .o .cpp
.cpp.o:
$(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o .PRONY:clean
clean:
@echo "Removing linked and compiled files......"
rm -f $(OBJ) $(PRG)

  测试结果:

1 参考文档: https://blog.csdn.net/lzx_bupt/article/details/7988192

2 代码所在路径: https://github.com/DyLanCao/iApply/tree/master/c_example/makefile

linux下 几个常用makefile模板,亲测可用的更多相关文章

  1. Linux下安装GCC5.3.0(亲测有效)

    对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧..知识不系统的坏处啊! 首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的 ...

  2. Linux 下MQ的安装和配置亲测

    开篇之前奉上几条黄金链接: MQ参考文档 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0m0/index.jsp?topic=%2Fcom.ib ...

  3. 【TP3.2】TP3.2下实现ajax分页(原创+亲测可用)

    一,写在最开始:ajax分页的原理,是利用了js的ajax执行请求,获取分页list和分页page [代码块],去替换页面显示数据的[代码块] 技术:js的ajax + TP3.2的fetch(&qu ...

  4. 在Jenkins远程链接Linux系统,然后执行shell命令-亲测可用【转】

    版权声明:本文为博主原创文章,未经博主允许不得转载.部分为转载其他人的,如要使用,也请提前通知一声 https://blog.csdn.net/a136332462/article/details/7 ...

  5. linux篇-centos7搭建apache服务器(亲测可用)

    1安装apache yum install httpd httpd-devel -y 2开启服务器 systemctl start httpd.service 3开机自启 systemctl enab ...

  6. win7中python3.4下安装scrapy爬虫框架(亲测可用)

    貌似最新的scrapy已经支持python3,但是错误挺多的,以下为在win7中的安装步骤: 1.首先需要安装Scrapy的依赖包,包括parsel, w3lib, cryptography, pyO ...

  7. 数据库工具DbVisualize安装、破解教程,亲测可用

    之前工作中遇到生产环境不允许导入Oracle的dmp文件,只能导入sql脚本,但是表中存在clob字段,直接用plsql工具无法导出clob字段,用了下dbvisualizer可以直接导出,亲测可用. ...

  8. linux: 几个常用makefile模板

    不才,总结个人常用makefile模板,以备后用. 1.编译动态库 ############################################################# # Ma ...

  9. Linux下mysql的常用操作

    Linux下mysql的常用操作: 显示数据库 show databases; 选择数据库 use 数据库名; 显示数据库中的表 show tables; 显示数据表的结构 describe 表名; ...

随机推荐

  1. 设计模式学习心得<适配器 Adapter>

    适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接 ...

  2. mybatis中怎样使用having?

    1.dao层代码 List<ErgTipSimpleBo> queryListMore(@Param("typeId") Integer typeId,@Param(& ...

  3. 基于百词斩和扇贝单词的背单词APP软件测试

    概述 背单词APP是非常受大学生青睐的手机应用,但它的发展尚未成熟,存在一些缺陷.我们决定深入地分析一组典型的背单词APP:百词斩(A产品).扇贝单词(B产品),寻找当前背单词APP中的提升空间.下面 ...

  4. git的使用方式总结

    1.先用 git clone url 克隆下来项目 2.查看下载的项目里面有没有一个名字叫git的文件夹 3.用git branch查看当前所有的本地分支,绿色的代表当前所处的分支 4.若本地只有一个 ...

  5. Vue 去掉#号,让网址像正常的一样

    vue利用hash模式让页面不刷新,但是有时候看起来觉得怪怪的,也可以去掉#,并像#模式一样不刷新页面. 1.在路由里面添加     mode: 'history' 这样就去掉了#号,但是点击页面会发 ...

  6. Python从入门到精通之Sixth!

    补充:enumerate 函数用于遍历序列(元组tuple.列表list.字典dict)中的元素以及它们的下标: >>> for i,j in enumerate(('a','b', ...

  7. Python Day 9

    阅读目录: 内容回顾 内存管理 ##内容回顾 #文件处理 #1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操 ...

  8. oracle 中如何查看某个表所涉及的存储过程

    SELECT DISTINCT * FROM user_source WHERE TYPE = 'PROCEDURE' AND upper(text) LIKE '%PS_KL_ABS_002_DAT ...

  9. 关于浏览器cookie的小知识

    浏览器对于总的cookie数量是没有限制的,但是对于每个域名的cookie数量是有限制的. 一,不同的浏览器,对于一个域名的cookie数量限制上限是不同的: 1,IE6以下版本,最多20个.IE7以 ...

  10. java集成memcached、redis防止缓存穿透

    下载相关jar,安装Memcached,安装教程:http://www.runoob.com/memcached/memcached-install.html spring配置memcached &l ...