makefile格式-实践一
一直知道makefile是为了让工程更合理化编译和输出~
从未在unix下自己写这个;在windows开发中一直用ide开发,ide自带;偶而写写小东西,也是用bat方式直接编译。
ps:bat方式就是自己写编译命令;与makefile的区别是前者无论文件是否发生改变都编译,后者是当编译成功后若文件未发生任何改动,不会编译;较之于前者,后者编译效率高的多。
以前简单学习了makefile,没有动手实践过;今天有兴致简单实践一把。
实际环境:
net cs代码
nmake
编写简单代码:helloworld
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace ConsoleApplication1
6 {
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 string s = "Hello";
12 s = s + " world";
13
14 Console.WriteLine(s);
15
16 Console.Read();
17 }
18 }
19 }
20
第一次编写makefile,如下:
2
3 helloworld.exe:helloworld.cs
4 csc helloworld.cs
5
6 clean:
7 -del *.exe
直接用命令:nmake helloworld.makefile
报错:fatal error U1034
想了半天,尝试性的做了如下调整:
2
3 helloworld.exe:helloworld.cs
4 csc helloworld.cs
5
6 clean:
7 -del *.exe
再使用命令,完全编译通过
仔细看看两个makefile,发现第四行和第七行有一个空格的差异。
阅读《How to Write makefile.pdf》其中没有此空格的注明,仅有如下规则:
target...:prerequisites...
command
【总结】:
实际的格式:
target...:prerequisites...
command
此处空格意义:告知nmake"command"是目标的一个命令,而非下一个目标的开始。
另外不知道其他情况下,比如unix下是否有这个问题,也许仅仅只有nmake才有这个错误。有待后续测试结论
【2010-12-28】
继续阅读《How to Write makefile.pdf》,文中有这么一句:
最后,还值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。
此话已说明命令在格式中的特殊起始点。上面所说" "空格不是标准的格式,可用而已
转载于:https://www.cnblogs.com/GoGoagg/archive/2010/12/27/1917998.html
makefile格式-实践一相关推荐
- java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
学习makefile教程,ubuntu中文网 1.写一个简单的java项目,不需要外部jar,用的简单的 importjava.util.ArrayList;是可以从CLASSPATH环境变量中找到的 ...
- JQuery + XML作为前后台数据交换格式实践
JQuery + xml作为前后台数据交换 JQuery提供良好的异步加载接口AJAX,可以局部更新页面数据, http://api.jquery.com/category/ajax/ xml作为一种 ...
- [微信小程序] 单张、多张图片上传(图片转base64格式)实践经验
本文首发自个人自有博客:[FaxMiao个人博客],一个关注Web前端开发技术.关注用户体验.记录前端点滴,坚持更多原创,为大家提供高质量技术博文! 定义初始数据: data: {imgList: [ ...
- 【转载】跟我一起写 Makefile(一)
本文转载自:https://blog.csdn.net/haoel/article/details/2886 工欲善其事,必先利其器. 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 活动 ...
- 【C++基础】【集成编译环境01】Clion的C++编译环境和Boost Test Framworks框架运行实践
本文项目源码链接: CLionboostunittestframeworks项目源码-C++文档类资源-CSDN文库 前言和行文思路: VScode.Clion.Pycharm都是集成环境的编辑器,他 ...
- [linux]makefile使用
简介: 使用makefile记录项目各个文件的依赖关系,make程序会根据依赖关系从底层开始执行编译命令,最后生成最终目标文件.使用makefile可以方便编译多个相互依赖的源文件最终生成目标文件. ...
- Linux Makefile
Makefile 格式 一个例子如下.Makefile由一系列规则组成. 规则格式如下:命令列表中的命令,以TAB键开始. 目标-: 依赖文件集合--命令 1命令 2-- 下面规则,目标是main,依 ...
- Makefile语法总结
Makefile语法总结 C语言编译过程 预处理:将.h和.c文件处理为.i文件 编译:将.i文件编译为.s文件(汇编文件) 汇编:将.s文件编译为.o文件(二进制文件) 链接:将.o文件链接为.ou ...
- 嵌入式Linux系统编程学习之六make工程管理和Makefile
文章目录 前言 一.Makefile中特殊处理与伪目标 二.变量.规则与函数 1.变量 2.规则 3.函数 总结 前言 工程管理器指管理较多的文件,它是自动管理器,能根据文件时间自动发现更新过的文 ...
最新文章
- Android-SharedPreferences
- 创建一个存储函数,返回指定员工的姓名,薪水和年收入
- python列表生成多个号码_python按需生成固定数量电话号码并保存为excel(不重复)...
- 系统无法在消息文件中为application_iOS 14 Filza 文件消息,M1 能用 win 系统
- CentOS 7 下的 Firewall
- 4怎么放大字体_win8.1系统如何放大所有字体?
- 谈谈遵守公司作战纪律
- OD使用教程10 - 调试篇10|解密系列
- Oracle之:查询锁表,删除锁表
- MySQL数据库左右连接
- 微信域名防封接口开发
- OpenSSL杂记(CA证书)
- 【HTTP图片服务器】【项目记录2】:安装、配置MySQL环境
- addClass函数
- 编程训练4-统计单词平均长度
- 智慧之战——农民工大战博士后
- 高效的中文字符串截取函数
- 排查服务器异常流量保姆级教程
- HTTP状态码code类型
- 大一c语言课程设计答辩ppt,c语言课程设计讲解内容图文.ppt
热门文章
- hdu-2080(三角函数和向量)
- Automatic Exploit Generation:漏洞利用自动化
- 用python从0开始创建一个区块链,从代码深入理解区块链
- Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
- 一起学设计模式-策略模式
- Socket连接心跳包的机制总结
- java搭建maven项目_Eclipse使用maven创建Java Web项目完整示例
- Google视角的地理信息科学家
- BZOJ 4823 Luogu P3756 [CQOI2017]老C的方块 (网络流、最小割)
- BZOJ 3218 UOJ #77 A+B Problem (主席树、最小割)