设为首页 加入收藏

TOP

C++的编译链接与在vs中build提速(二)
2023-09-09 10:25:33 】 浏览:142
Tags:build 提速
_FAST_ASSERTS SOURCES = src/unit.cpp \ src/unit-algorithms.cpp \ OBJECTS = $(SOURCES:.cpp=.o) TESTCASES = $(patsubst src/unit-%.cpp,test-%,$(wildcard src/unit-*.cpp))

CMake

cmake.txt示例

cmake_minimum_required(VERSION 3.17)
project(mycpp)

set(CMAKE_CXX_STANDARD 11)
#添加需要编译的文件
add_executable(strTest strTest.cpp)

C/C++为什么要写头文件?

来源: 为什么C/C++要分为头文件和源文件? - 知乎 (zhihu.com)

C时代的时候编译器比较简单,是固定的编译和链接两个过程,编译一次只处理一个文件,进行预处理之后,头文件会插入到这一个文件里,不同源代码文件的处理时独立的,这样如果头文件里面定义了一个函数的实现,编译的时候所有引用这个头文件的源码文件,生成的obj里都会有这个符号。而链接是通用的链接程序,从汇编时代就用的工具,没有什么高级功能,同一个符号链接时出现两次是会报错的。

但是,我们又说了,每个文件的编译是独立的,所以如果实现不在当前源文件里面,调用的时候编译器就不知道这个函数的类型和签名,没法生成调用代码,所以必须在调用之前先声明一遍。如果不把声明写在头文件里面,就必须在每个用到这个函数的源文件里都声明一遍,很不方便,所以综合之后的解决方案就是实现写源码文件里面,声明写头文件里面。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2.2 PE结构:文件头详细解析 下一篇《C++并发编程实战》读书笔记(2)..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目