linux下的C++项目创建
CMake项目的完整构建
Linux下的CMake项目通常由几个文件夹组成。小伙伴们可以先在自己的电脑上新建一个文件夹,作为你代码的根目录,然后往里面建几个子文件夹,这里并不涉及具体的代码,只是可以作为今后写代码的模板,万事开头难嘛!
子文件1:bin
用来放编译好的可执行二进制文件,二进制文件就是可以直接运行的程序
子文件2:src
用来放源代码
子文件3:lib
用来放编译好的库文件夹,库文件是为二进制提供函数
子文件4:include
用来放头文件
CMakeLists.txt
既然是CMake项目肯定得有CMakeLists.txt
最后还有LICENSE和README.md
为什么要使用这种目录结构呢?这其实是一种编译习惯,当然也可以把所有的文件都放在一个目录里。在工程量比较小的情况下,这种方式可能显的很繁琐,之前在CMake实践1中也讲到过CMake编译是分内部编译和外部编译两种的,如果工程量很小,可以是内部编译。但是,为了养成良好的编译风格,增加代码的可读性,我们通常还是采用的外部编译方式,即建一个build文件夹,在里面进行编译。上面分为子文件的方式也是这样的,也是为了增加代码可读性,把整个工程整理的很清楚。
O(∩_∩)O
在linux下,开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如:
编辑器(emacs, vim) 用来进行编辑程序的
调试器(gdb) 用来调试程序
编译器(GCC) 用来编译和链接程序的
性能分析工具(gcov, gprof) 用来优化程序的
文档生成器(doxygen) 用来生成文档的
同时,还有一些系统工具和系统知识,我们是很有必要了解的:程序自动化机制 makefile,系统粘合剂shell,系统查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟练掌握,它们将成为你手中的利器。
最新文章
- Node.js 中MongoDB的基本接口操作
- replication set复制集
- Linux使用标准IO的调用函数,分3种形式实现
- 【HDOJ】3948 The Number of Palindromes
- 本地主机作服务器解决AJAX跨域请求访问数据的方法
- android动画特效之解决解决移动后闪烁现象,解决输入法弹出后位置回复原状,解决两个动画叠加
- Navicat的使用
- poj2635 同余定理 + 素数筛法
- 大话RabbitMQ 基础入门
- F2 - Spanning Tree with One Fixed Degree - 并查集+DFS
- leetcode — binary-tree-maximum-path-sum
- 【学习总结】GirlsInAI ML-diary day-15-读/写txt文件
- java 发送 mail 纯文本发送和html格式发送
- [DBNETLIB][ConnectionOpen(Invalid Instance())] 无效的连接 的解决办法
- 《JavaScript总结》js模块化
- jQuery实现全选/反选和批量删除
- 小程序歌词展示,格式lrc歌词
- PAT 1028 人口普查(20)(STL-set+思路+测试点分析)
- JVM内存模型以及垃圾回收
- 【WPF】修改ComboBox样式
热门文章
- web service 部 分
- centos7.5下kubeadm安装kubernetes集群安装
- jsp不解析el表达式,不识别jstl标签,找不到http://java.sun.com/jsp/jstl/core
- java自定义抛出的异常Exception
- Unicode UTF8 UTF16 urlencode base64
- decode 函数用法
- 浅析SQL Server 中的SOS_SCHEDULER_YIELD类型的等待
- 推荐一款好用并且免费的markdown软件 Typora
- JAVAWEB 一一 userweb1(原生,非servlet版)
- django select_related()和反射结合