关于makefile的一些学习经验
来源:互联网 发布:linux ssh端口转发 编辑:程序博客网 时间:2024/05/04 18:29
近来一周都在折腾在linux下给一个系统写一个makefile,由于对makefile没啥经验,就把过程中遇到的学到的都记录下来。
一:在makefile里面,很多命令都在命令前加“@”,这表示应用shell的脚本命令(例如:@echo),因为make缺少很多一些shell才有的命令。
二:$(MAKE) -C $(XML_PATH)的意思是进入XML-Path目录执行相应的makefile。
三:ar指令用于生成linux下的静态库文件(.a)。
优点:程序模块化,容易重新编译,方便升级。
分类:静态函数库(对应.a文件)、共享函数库(对应.so文件,类似于Windows的dll文件)、动态加载函数库(对应.o文件,相当于Windows里的.obj文件)
四:linux下设置环境变量:export AMDAPPSDK="/opt/AMDAPPSDK-3.0-0-Beta/".
五:malloc、calloc、realloc和alloca的区别
1:malloc是标准的在堆中开辟新的空间,即动态内存分配,例如(char* p=(char*)malloc(sizeof(char))),使用后需要free(p)来释放内存。
2:calloc也是开辟动态内存空间,例如(char* p=(char*)malloc(10,sizeof(char))),但是calloc会把分配的内存初始化为为0,。使用后需要用free(p)来释放内存。
3:realloc对指针空间做重新定义,新的空间必须大于原来的空间
4:alloca是最特殊的开辟栈空间方法,优点是当离开调用这个函数的时候,栈所分配的空间会自动释放(也就是free)
- 关于makefile的一些学习经验
- 关于 makefile 的一些理解
- 关于Makefile的一些问题
- 关于Makefile的学习
- 关于Makefile的学习
- 关于分页的一些经验。
- 关于MFC的一些经验。
- 关于Canvas的一些经验
- 英语学习的一些经验
- 学习Swing的一些经验
- php的一些学习经验
- OpenCv的一些学习经验
- 关于shell/Makefile相关的一些记录
- 关于ANT的学习经验
- 关于log4j学习的经验
- 关于vim的学习经验
- 关于单片机的学习经验
- 关于java的一些基础知识和经验
- Android有效解决加载大图片时内存溢出的问题
- delete和delete[]的区别
- 一种容易出错的构造函数调用
- Android 异步任务AsyncTask的使用
- 总结iOS 8和Xcode 6的各种坑
- 关于makefile的一些学习经验
- OOP的基本原则
- 过年为什么要贴门神?
- NT_iOS笔记—百度社会化分享(64Bit)
- 我的学习之旅(39) sched.c
- FetchType.LAZY和FetchType.EAGER什么区别?(懒加载和急加载的理解)
- 深度学习之caffe安装历险记
- C++中的RAII机制
- 谈谈Linux内核驱动的coding style