C++程序运行的流程,以及make和cmake的区别
2016-09-26 14:08
330 查看
新学者即是新手,即便一点点最基本的知识都想保留,想加深印唯恐下次找不到,脑袋瓜不好使,多看几遍就会印象深刻。
原地址:http://blog.sina.com.cn/s/blog_74a459380102uxlz.html
程序大体步骤为:
1.用编辑器编写源代码,如.c文件。
2.用编译器编译代码生成目标文件,如.o。
3.用链接器连接目标代码生成可执行文件,如.exe。
但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。
对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。
原文件--camkelist ---cmake ---makefile ---make ---生成可执行文件
原地址:http://blog.sina.com.cn/s/blog_74a459380102uxlz.html
程序大体步骤为:
1.用编辑器编写源代码,如.c文件。
2.用编译器编译代码生成目标文件,如.o。
3.用链接器连接目标代码生成可执行文件,如.exe。
但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。
对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。
原文件--camkelist ---cmake ---makefile ---make ---生成可执行文件
相关文章推荐
- Android:分析app、Process、Task之间的区别,以及获取最近运行的程序(近期任务)与正在运行的程序
- Android:分析app、Process、Task之间的区别,以及获取最近运行的程序(近期任务)与正在运行的程序
- g++编译运行c++代码流程以及动态库静态库的创建与使用
- 深入分析C++中char 和char [], char* 的区别,以及程序的栈和堆内存分配
- C++运行时候库操作概述和整个程序运行流程
- c#调用c++程序(DLL方法,以及opencv,运行开源的人脸识别seetaface)
- C语言编写程序的优点和缺点以及与C++的区别
- C++学习笔记1(Windows程序运行原理及程序编写流程)
- CRT,C++运行时库详解(历史脉络以及相关名称定义和区别)
- (十三)Core Java GUI(图形化界面小程序开发,事件监听机制流程,以及可运行jar包的配置实现,) (109)
- 程序运行时三种内存分配策略:静态的、栈式的、和堆式的,以及区别
- C++学习笔记1(Windows程序运行原理及程序编写流程)
- java与c++程序在编译和运行上有什么区别
- Java与C++程序在编译和运行上的区别
- 关于 QtCreartor编写纯C++程序调用不到C++某些标准库和枚举以及运行错误 的解决方法
- C++运行时候库操作概述和整个程序运行流程
- Android:分析app、Process、Task之间的区别,以及获取最近运行的程序(近期任务)与正在运行的程序
- 通俗易懂学C语言-02-C语言程序长啥样以及运行流程
- 终端下编译运行一个简单C++程序流程
- C++/Qt程序编译运行时出现的问题以及解决办法