6 夜风~

尚未进行身份认证

我要认证

手与大脑的距离决定了理想与现实的相似度!

等级
TA的排名 4k+

程序是怎么从代码到二进制的?——预编译

概览从hello world说起。#include <stdio.h>int main(){ printf("Hello world\n"): return 0;}预编译过程测试vim hello.i , 如下:编译过程到底发生了什么?·将所有的#define删除,并且展开所有的宏定义·处理所有的条件预编译指令,比如#if #ifdef #elif ...

2020-04-25 21:35:09

gcc编译选项-fprofile-arcs -ftest-coverage之代码覆盖率

前言gcov是在代码运行时统计代码覆盖率的工具,随着gcc一起发布的。它的使用很简单,需要在编译和链接时增加-fprofile-arcs -ftest-coverage生成二进制文件。gcov主要使用.gcno和.gcda两个文件。.gcno是由-ftest-coverage产生的,它包含了重建基本块图和相应的块的源码的行号的信息。.gcda是由加了-fprofile-arcs编译参数的...

2019-12-08 19:16:42

内存异常实例解析(core dump、segmentation fault)

释放栈上的指针#include <iostream>using namespace std;int test(){ int a = 100; int *ptr = &a; free(ptr); }int main(){ test(); return 0;}报错: invalid point...

2019-12-08 17:16:16

c++ ——静态成员变量和静态成员函数

c++ 静态成员变量用static 关键字来声明,是整个类的数据成员,其存储不占用某个具体对象的空间,其存储在静态存储区。c++ 静态成员函数用static 关键字来声明,用于处理静态成员变量,可以用类名来调用,也可以用对象名来调用。测试代码:#include <iostream>using namespace std;class Point{public: Po...

2019-11-24 16:03:46

c++ 复制构造函数

c++ 复制构造函数的声明和定义的语法如下:class 类名{public: 类名(形参);//构造函数 类名(const 类名 &对象名);//类内复制构造函数的声明 ......};类名::类名(const 类名 &对象名){//函数体}以实际的栗子进行说明。#include <iostream>using namespace std;...

2019-11-16 21:53:30

GDB调试查看内存数据

文章目录gdb查看内存数据测试gdb查看内存数据格式:x/nfu说明:x是examine的缩写,意思是检查。n表示要显示的内存单元的个数,比如:20f表示显示方式,可取如下值:x按十六进制格式显示变量。d按十进制格式显示变量。u按十进制格式显示无符号整型。o按八进制格式显示变量。t按二进制格式显示变量。a按十六进制格式显示变量。i指令地址格式...

2019-10-06 14:56:37

exit()函数解析

文章目录exit()函数介绍exit()和return的区别测试1测试2exit()函数介绍函数名: exit()所在头文件:stdlib.h(如果是c++,头文件:#include < cstdlib >)功 能: 关闭所有文件,终止正在执行的进程。exit(0)表示正常退出,exit(x)(x不为0)都表示异常退出,这个x是返回给操作系统(包括UNIX,Linux,和M...

2019-10-06 13:44:04

vim常用的高效率快捷键

前言vim中操作的快捷键非常多,功能十分强大,当熟练实用一些快捷键,可以起到事半功倍的效果,效率提高很多。本文记录一些高效的文档修改相关的快捷键,以备使用。vim大小写转换格式:[开始位置] ———— 可以定位开始的位置,默认为光标所在位置gu ———— 选择范围内转小写gU ———— 选择范围内转大写 [结束位置] ———— 可以...

2019-10-04 17:28:30

c++中std::auto_ptr的使用解析

前言由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解std::auto_ptr智能指针。对于编译器来说,智能指针实际上是一个栈对象,并非指针类型,在栈对象生命期即将结束时,智...

2019-09-28 22:34:57

git使用方法

由于工作中项目开发需要用到git,所以查了一些资料,对git的使用做一些记录的总结。git简介Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库git 常用指令git config --global user.name xxxxxxname #配置邮箱git config --global user.e...

2019-09-28 17:22:19

caffe从零开始学习5——ilsvrc12例程学习

./python/draw_net.py ./models/bvlc_reference_caffenet/deploy.prototxt ./caffe_png/ilsvrc12.png --rankdir=LR vim ./models/bvlc_reference_caffenet/deploy.prototxtname: "CaffeNet"layer { name: ...

2019-09-09 22:31:48

汇编debug调试指令与解析

一、win10下debug的环境配置参考https://ask.dobunkan.com/article-4935.html,安装配置即可,本文主要讲解debug下具体怎么使用。二、汇编debug常用指令指令使用示例(不区分大小写):(1)r指令比如r 查看cpu寄存器的内容r ax 修改ax寄存器内容,其他寄存器修改类似。(2)d指令,查看内存内容(3)u指令,内存的机器...

2019-09-04 22:32:24

c++ 性能优化策略

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-27 17:12:59

如何简单地理解Python中的if __name__ == '__main__'

...

2019-08-24 22:26:11

Python之 import argparse模块

argparseargparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需...

2019-08-24 22:01:36

python标准库之glob介绍

glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:””, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。1、通配符星号(*)匹配零个或多个字符import globfor name in glob....

2019-08-24 21:24:37

caffe从零开始学习4——cifar-10例程训练及测试

前言Cifar-10是由Hinton的两个大弟子Alex Krizhevsky和Ilya Sutskever收集的一个用于普通物体识别的数据集。DL的两大核心:数据+模型。CIFAR-10(DataSet)这个数据集总共包含:60000张图片1—图片尺寸:32pixel*32pixel2—图片深度:三通道RGB的彩色图片2—这60000张图片共分为10类,具体的分类如下图所示:600...

2019-08-24 21:21:14

caffe从零开始学习3——mnist例程测试自定义数字图片

测试一张自定义的手写体数字上面已经进行了mnist数据的训练,也对测试数据进行的测试,准确率在99%左右。那么如果我们想自己测一下一张字节手写的数字,看看他学习的是否准确,改怎么利用caffemodel权值文件呢。下面就来测试一张自定义的手写体数字。利用模型lenet_iter_10000.caffemodel测试单张手写体数字所需要的文件:(1)待测试图片(自己画的也行,网络上下的也行)...

2019-08-24 17:16:41

SATA、mSATA接口定义及linux下的挂载硬盘、速度测试

SATA接口的定义SATA电源线和数据线接口定义SATA是Serial ATA的缩写,即串行ATA。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,还具...

2019-08-21 15:35:45

嵌入式Linux系统时间设置

Linux系统的很多功能都需要读取时间为基础。比如:日志系统需要时间戳以记录log,为后期的问题排查提供支撑;cron服...

2019-08-16 18:03:47

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。