cpp加油站 cpp加油站
2年前
【工欲善其事,必先利其器】之怎么查看c++代码生成的汇编代码
本篇文章讲解怎么得到c代码对应的汇编代码,想要真正的理解一段代码到底是怎么执行的,还是要从汇编的层面去看,那怎么得到一段c代码所对应的汇编代码呢,下面为你介绍三种方式。1.gcc编译生成XXX.s文件一般来讲,给你一个cpp文件,比如test.cpp,然后我们编译都是直接gtest.cpp这样简单直接的方式,但其实它中间有很多个过程的,包含
cpp加油站 cpp加油站
2年前
c++11增加的变参数模板,今天总算整明白了
本篇文章介绍一下c11中增加的变参数模板template<typename...Args到底是咋回事,以及它的具体用法。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。按照惯例,还是先看一下本文大纲,如下:在之前写vector和deque容器源码剖析的过程中,经常发现这样的代码,如下:cpptemplate<typename..
cpp加油站 cpp加油站
2年前
【STL源码拆解】基于源码分析forward_lsit容器实现(详细!)
本篇文章介绍一下c11中新增的顺序容器forwardlist,基于stl的源码分析一下该容器的整体实现及数据结构。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。按照惯例,还是先看一下本文大纲,如下:1.forwardlist是什么forwardlist是c11为STL新增加的一种顺序容器,使用的时候包含头文件forwar
Stella981 Stella981
2年前
Linux 0.11 在ubuntu
引言1、工作背景研究linux\0.11已有月余,代码看了好几遍,虽然能看懂,却总感觉如隔靴搔痒一般。这当然是正常的,毕竟不是自己写的东西,毕竟这是个操作系统。但若能亲自修改并调试一番,对其的理解就能更加深刻了。然而在linux0.11的编译要在装有gcc1.4的系统里进行,那个系统太老了,修改起来也不方便,又没法安装源码阅读器..
Stella981 Stella981
2年前
C语言成长之路之linux网络编程(基于centos7的vi+gcc+gdb开发环境搭建)
1:yumupdate2:yuminstallgcc3:   1.下载源码包:            http://ftp.nluug.nl/gnu/gdb/gdb7.8.2.tar.gz(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fftp.nluug.nl
Stella981 Stella981
2年前
Linux下ELF文件的格式(1)
【说明】本文章从本人的CSDN博客搬过来的,因个人感觉CSDN的博客系统太差,so,搬到这里。1.Linux下的可执行文件是什么格式?2.假设我们有个文件hello.c,那么gcchello.c后输出什么,gcc c hello.c输出什么?3.这些文件的内部是什么样子的?这是我们的hello.c文件i
Stella981 Stella981
2年前
Liunx版本号码编排惯例
1、内核版本号不代表操作系统整体版本;Linux的内核,以及每一个应用程序、元件、库或者是发行版中的软件包都有自身的版本号。例如你使用的gcc版本号码是2.7.2.3,内核可能是2.2。在安装某个发行版时,所有这些过程得到了简化,因为发行版中包括的每一个软件包都是最新的,例如:RedHat、easyLinux。2、稳定版和开发版任何时候内核都以两
Stella981 Stella981
2年前
C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)
关于代码覆盖率统计工具,Linux平台下,gcc内置支持gcov,通过编译时加参数选项,进行代码插桩,从而实现代码覆盖率。在Windows平台下,早在几年前,我还没找到特别好用又开源的覆盖率工具,所以以前公司是自己实现了一套,使用起来也不是很方便。最近又遇到同样的问题,不过非常幸运的是,一款开源的Windows平台的C代码覆盖率工具出现了在我的面前:
小万哥 小万哥
11个月前
C++编译器和链接器的完全指南
C是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节。编译器和链接器是两个非常重要的概念。本文将详细介绍C中的编译器和链接器以及它们的工作原理和使用方法。编译器编译器是将源代码转换为可执行文件的程序。在C中,常用的编译器有GCC