首页 > 编程语言 >C++知识整理

C++知识整理

时间:2022-09-23 21:22:22浏览次数:74  
标签:gcc cmake 知识 Makefile C++ 编译 gdb 整理

2.C++编译

2.1 gcc编译和gdb调试的学习

C程序编译成可执行文件后,才能有运行。我常用gcc工具将c程序编译成可执行文件。
GCC编译流程分为四个步骤: 编译预处理、编译、汇编和链接
请参考:gcc编译和gdb调试的学习

我觉得gdb对我没什么用。知道gdb是对生成的二进制文件进行调试就行。
确实有兴趣的可参考: gdb调试

2.2 C\C++ 静态库和动态库

静态库和动态库的简介和制作
linux C\C++动态库(共享库)编译和运行时的链接
动态链接库的隐式加载和显示加载

2.3 makefile、cmake和configure脚本

使用g++编译程序的时候,需要依赖很多库文件和头文件,当工程很大时,在命令行中使用一条gcc命令编译整个工程就会显得困难。
所以我们将gcc编译各种程序的命令放入一个文件中,这个文件命名为Makefile。
makefile使用

上面我们学到的是linux下Makefile的编写规则,但是不同平台有不同的Makefile文件编写规则,为了解决不同平台编写规则的不同,就需要使用cmake。在使用cmake时,需要开发者编写一种平台无关的CMakeList.txt 文件来定制整个编译流程,然后通过cmake命令就可以根据目标的平台生成所需的本地化Makefile和工程文件。
cmake入门

./configure是一种叫autoconf的构建工具自动生成的构建文件,它以shell script的形式存储,在cmake之前是c/c++的主流构建工具。近年来很多项目有从autoconf转向cmake的趋势。autoconf和cmake的共同点是会生成makefile,然后从makefile执行真正的编译构建过程。
configure生成Makefile文件全过程

3.C++语言

C++中的头文件(.h)

python调用C++程序,C++程序调用python程序:pybind11简单使用

标签:gcc,cmake,知识,Makefile,C++,编译,gdb,整理
From: https://www.cnblogs.com/codingbigdog/p/16724400.html

相关文章

  • C++ Deque
    deque是double-endedqueue的缩写,又称双端队列容器。deque容器也擅长在序列尾部添加或删除元素(时间复杂度为O(1)),而不擅长在序列中间添加或删除元素。deque容器也可......
  • 做题记录整理dp11 P4158 [SCOI2009]粉刷匠(2022/9/23)
    P4158[SCOI2009]粉刷匠事实上前半个小时我甚至没想用dp做。。。感觉这道题难度标高了(跟那个想让我测出题人的码的题相比)首先可以发现每一行之间都是独立的,所以先考虑把......
  • 做题记录整理dp9 P1758 [NOI2009] 管道取珠(2022/9/23)
    P1758[NOI2009]管道取珠这道题的难点就在于赋予ai的平方和一个具体的含义,我们可以想到(其实要不是上课听了根本想不到)ai的平方和其实就是两个管道取珠游戏一起玩,然后取......
  • 做题记录整理dp810 P2254 [NOI2005] 瑰丽华尔兹(2022/9/23)
    P2254[NOI2005]瑰丽华尔兹题解这题的难点在与dp的递推方程的书写如果写对了递推方程,想到单调队列优化是很自然的(然而我想到了不会打)还有递推方程的具体代码实现也挺......
  • 做题记录整理dp8 P5665 [CSP-S2019] 划分(2022/9/23)
    P5665[CSP-S2019]划分这题其实并不是题单的第八题,但我现在一做完题目马上就想来(测出题人的码)整理题目因为这题是真的恶心首先朴素的n三次方dp,枚举上一个端点,以及上上......
  • pycharm简介及python基础知识
    1、昨日内容回顾计算机五大组成部分(补充)控制器与运算器合称CPU。储存器分内存(临时)与外存(长久)。计算机三大核心硬件CPU,计算机的中枢神经,程序运行必须依靠CPU。内......
  • 第1章 计算机的理论知识
    第1章计算机的理论知识第01阶段计算机的理论知识1.计算机的概念计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑判断......
  • 1030 整理模型文件
        删除                             ......
  • 基于SX1278/SX1276芯片的LoRa技术知识详解
    载波频率:载波频率就是没有调制数据的纯射频信号,用来载送信号的频率,在这个频率的基础上进行移频键控的调制输出无线信号,通常说发射频率就是指载波频率。lora扩频因子:扩频......
  • JavaScript 之 扩展知识
    扩展知识: 1.JavaScript的应用     2.浏览器内核[WebKit]由 WebCore和  JavaScriptCore组成WebCore:负责HTML解析,布局,渲染......