自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

勤学如春起之苗,不见其增,日有所长! 辍学如磨刀之石,不见其损,日有所亏!

编译原理、操作系统、计算机图形学 侯捷:追踪一流程序,并从中吸取养分,模仿着他写的程序,比那些自以为靠自己努力写出来的下三流程序价值高得多,至少我这么认为——世界上99.999%的程序,在STL面前都是下三流水平!

  • 博客(38)
  • 资源 (16)
  • 收藏
  • 关注

原创 内存越界,为什么会崩溃

内存越界,为什么会崩溃越界操作引起的崩溃根源一般是下面两种情况1.权限问题 – 访问了没有相应访问权限的地址.一般读越界引起崩溃都是这种. 多数写越界也会直接或间接引起这种问题.2.代码执行出错 – 执行了非法的代码或是由数据错误引起的代码执行异常. 这种错误多由写越界引起.比如写坏了栈导致执行的非法代码,读取错误数据. 写坏了堆引起堆管理代码执行异常等等.越界就好比踏进了地雷区。很可能生...

2019-08-31 11:18:31 3168

转载 【转载】【编程基础】C语言内存使用的常见问题

【编程基础】C语言内存使用的常见问题转载自:https://cloud.tencent.com/developer/article/1059228程序员互动联盟发表于程序员互动联盟订阅498在这篇文章中:一、 数据区内存 1内存越界 2 多重定义 3 volatile修饰 二、 栈区内存 1 内存未初始化 2 堆栈溢出 3 内存越界 4 返回栈内存地...

2019-08-31 11:15:47 309

原创 【转载】头文件中定义函数引发的multiple definition

问题:某个头文件中声明并定义了一个函数,然后在多个源码文件中调用该函数,编译链接时出现了该函数multiple definition问题,在头文件中添加了 #ifndef 头也不行,经过尝试发现如果将该函数的声明和定义分开到.h和.cpp文件之后问题消失,为什么不能将函数直接定义在.h文件中呢?针对该问题,抽象出如下几个问题:头文件中只可以放置函数声明,不可以放置函数定义吗?以下面的程序为...

2019-08-31 10:58:02 809

转载 【转载】一个sizeof引发的血案

362 人赞同了该文章0x00 写在最前在这个系列中,我们将会和大家分享一些产品开发过程中所遇到的一些技术难题和具体的解决过程与解决方法。在系列的第一篇中,我们首先将分享一次线上系统崩溃的完整调查过程。希望能给大家提供一点解决类似问题的思路。0x10 问题描述某日例行检查时,发现一个部署在生产环境中的服务器程序会随机崩溃并产生coredump。其特征是对于某些特定的输入时,会...

2019-08-31 10:56:59 382

转载 【转载】50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这50条建议:1、把C++当成一门新的语言学习(和C没啥关系!)。2、看《Thinking In C++》,不要看《C...

2019-08-31 10:56:52 101

转载 【转载】程序员面试之刷题推荐

刷题注意的事:1、要经常在白板或者纸上写代码,检查是否漏掉情况,然后键入电脑运行测试写的代码;2、用自己最擅长的语言去练习和面试,一般选择的语言是Java,Python,C,C++;3、在睡觉前回忆一下今天刷的题或者阅读一些面试有关的书籍,研究表明睡前回忆或者阅读有非常好的记忆效果(可以参考论文研究);4、在面试最期望去的公司前去面试一些其他公司,最好的准备是去真实环境中体验面试;...

2019-08-31 10:56:14 178

原创 Linux下内核源码阅读方法 (vim+ctags+taglist+cscope)

因为长期受 Windows 下 source insight 查看内核源码的困扰(Windows下文件大小写问题、无法完全 synchronize symbol、以及全局查询较慢),因此另寻出处,找到本文的解决方案。本文的 OS 环境为 SLES15。一、安装&环境准备安装 vim(通过 vim 查看代码文件)-Bash 代码1 zypperinvim...

2019-08-31 10:56:06 504

转载 【转载】extern链接时、C++、C编译处理的区别

基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不...

2019-08-31 10:55:59 185

转载 【转载】extern作用详解

更多可参考:http://notes.maxwi.com/2016/07/28/cpp-gleaning-extern-c/extern 作用1:声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。例1:创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp...

2019-08-31 10:55:51 589

转载 【转载】Git 从入门到放不下

请查看原文连接https://juejin.im/post/5d0f4f6551882528084c393f?utm_source=gold_browser_extensionGit 从入门到放不下前言这是2017年写的两篇关于Git使用总结的文章,发在公司内网,这次把两篇文章合起来并适当修改下发到博客,重新编辑的过程也是重新学习的过程。Git简介Git是一种分布式版...

2019-08-31 10:53:26 173

转载 【转载】打开c语言生成exe文件,出现闪退的解决方法

额,在给大一学弟上第一节实验课的时候,经常有学弟问我,为什么打开c语言生成的exe文件,立马闪退。起初个别问的时候,我只是简单的说明程序运行完了,就自动关了,现在先不用涉及这个,以后自然懂了。但是后来问的人多了,我就觉得有必要先给他们提一下了。首先,生成的exe文件本质是控制台程序,这些都是依赖于windows的控制台窗口,程序执行完就退出了。(比如,如果你程序中有scanf语句,那么...

2019-08-30 11:27:22 1378

转载 【转载知乎】C/C++内存对齐详解

原文连接:https://zhuanlan.zhihu.com/p/300070371、什么是内存对齐还是用一个例子带出这个问题,看下面的小程序,理论上,32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占4+1=5byte;但是实际上,通过运行程序得到的结果是8 byte,这就是内存对齐所导致的。//32位系统#include<stdi...

2019-08-29 21:30:59 546

转载 【转载】Linux编译多个不同目录下的文件以及静态库、动态库的使用

转自https://blog.csdn.net/luotuo44/article/details/16970841先看两篇博文,作为基础知识。如果对C/C++编译链接过程都了解的话,可以跳过不看。http://www.firedragonpzy.com.cn/index.php/archives/2556http://www.cppblog.com/shifan3/archive/2...

2019-08-29 21:24:29 197

原创 STL简单学习入门

首先介绍顺序容器:•容器中的元素是有序的(ordered),但并未排序(sorted)。顺序容器共有3种,分别是vector、list、deque。1、vctor:定义:向量容器,一种动态数组,可取代C++语言本身提供的传统数组,提供随机存取的能力,操作尾端元素的速度最快。由于所有元素占用连续的空间,所以一旦进行插入或删除操作,有可能是原本的某些iterators失效...

2019-08-29 15:04:35 449

转载 【转载】STL迭代器iterator和指针的区别总结

指针和iterator都支持与整数进行+,-运算,而且其含义都是从当前位置向前或者向后移动n个位置 指针和iterator都支持减法运算,指针-指针得到的是两个指针之间的距离,迭代器-迭代器得到的是两个迭代器之间的距离 通过指针或者iterator都能够修改其指向的元素通过上面这几点看,两者真的很像,但是两者也有着下面的几个不同地方 cout操作符可以直...

2019-08-28 15:34:47 664

原创 【安全】SEI CERT C Coding Standard

https://wiki.sei.cmu.edu/confluence/pages/diffpagesbyversion.action?pageId=87152272&selectedPageVersions=98&selectedPageVersions=99https://wiki.sei.cmu.edu/confluence/display/cplusplus/MEM50-...

2019-08-28 12:10:55 1070

转载 【转载】面试点:解读关键字volatile(C语言面试题分析之一)

面试点:解读关键字volatileC语言面试题分析之一一.volatile是什么?volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。二.编译器优化是什么意思?int i = 5;int a = i;...

2019-08-28 11:44:37 134

转载 【转载】C语言中volatile的用法及意义

volatile 影响编译器编译的结果,volatile指出 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)例如: volatile int i=10; int j = i; ... ...

2019-08-28 11:42:13 136

转载 C语言字符数组的初始化

1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为...

2019-08-28 11:33:34 289

转载 【转载】C/C++内存布局策略详解

详解C/C++的内存布局,以及C++对象内存布局,以及C和C++内存布局之间有什么区别。C程序内存布局Linux C程序内存布局主要分为以下几部分组成:代码段 初始化数据段(数据段) 未初始化数据段(BSS段) 堆 栈 以下分别来介绍各部分的作用。代码段代码段是由程序中的机器代码组成。在C语言中,程序经过编译后,形成机器代码。在执行的过程中,CPU...

2019-08-28 10:41:12 147

转载 【转载】C语言思维导图知识总结

C语言思维导图知识总结转载自:https://blog.csdn.net/t595180928/article/details/80743797此图本人亲自经过数日日夜夜总结、修改而来,方便查阅记忆,复习总结!...

2019-08-28 10:29:50 230

原创 【转载】C语言static 关键字总结

static 关键字总结:变量可以被static 修饰,意义有发生变化吗?下面我们看个例子:(1)变量不加 static 修饰#include <stdio.h>void test(){ int num = 0; num++; printf("%d ", num);}int main(){ int i = 0; ...

2019-08-28 10:29:40 111

转载 C/C++内存对齐字节对齐策略

C/C++内存对齐字节对齐策略struct内存补齐属于笔试中的必考题目之一,但有时候stuct内存对齐的方式对让人感到非常疑惑,这里梳理一下内存对齐的策略。策略规则一:前面的地址必须是后面地址的整数倍,不是就对齐; 规则二:整个地址必须是最大字节的整数倍; 规则三:指定#pragma pack(n),整个地址是n的整数倍。实例以32位环境为例(64位环境指针为8个字节,规则相...

2019-08-28 10:29:30 144

转载 【转载】浅谈程序中的text段、data段和bss段

一般情况,一个程序本质上都是由 bss段、data段、text段三个段组成——这是计算机程序设计中重要的基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。在采用段式内存管理的架构中(比如intel的80x86系统),bss段(Block Started by Symbol segment)通常是指用来存放程序中未初始化的全局变量...

2019-08-28 10:29:17 347

转载 【转载】结构体数组初始化、变长结构体--尾部占位符

https://blog.csdn.net/weixin_34211761/article/details/89701698struct city{ char name[20]; double population; double housing; double ave;};city cities[2];cities[0]={"A",10000,11};cities[1]=...

2019-08-28 10:29:06 403

转载 【转载】C语言中const关键字的用法

本文转载自链接:https://blog.csdn.net/xingjiarong/article/details/47282255转载请注明出处http://blog.csdn.net/xingjiarong/article/details/47282255关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有...

2019-08-28 10:28:50 107

转载 【转载】C语言volatile

2017年10月20日 12:00:10 小帅哥gaoyi 阅读数 274 文章标签: volatile 更多分类专栏: C版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/gaoyi221119/article/details/78293962volatile是易变的,不稳定的意...

2019-08-27 16:02:00 102

转载 【转载】批处理 %~dp0是什么意思

批处理 %~dp0是什么意思cd /D %~dp0的意思如下:更改当前目录为批处理本身的目录比如你有个批处理a.bat在D:\qq文件夹下a.bat内容为cd /d %~dp0在这里cd /d %~dp0的意思就是cd /d d:\qq%0代表批处理本身 d:\qq\a.bat~dp是变量扩充d既是扩充到分区号 d:p就是扩充到路径 \qqdp就是扩充到分区号路径 d:\q...

2019-08-27 15:58:58 203

转载 vs中debug和release版本的区别

vs中的程序有debug和release两个版本,Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。debug程序通常比...

2019-08-27 15:53:39 419

转载 【转载】字节对齐的规则总结

字节对齐的规则总结2017年09月15日 11:11:44小帅哥gaoyi阅读数 5118更多分类专栏:#单片机版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/gaoyi221119/article/details/77989522一、什么是字节对齐,为什么要对...

2019-08-27 15:46:08 1624

转载 【转载】在linux下使用gcc/g++编译多个.h .c 文件

编译---链接过程 要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,编译器在编译时是以C文件为单位进行的,也就...

2019-08-27 14:56:25 5612

转载 注意头文件规则,避免链接错误:重复定义(multiple defination)

注意头文件规则,避免链接错误:重复定义(multiple defination)编译链接C++程序编译的时候遇到了一个重复定义的问题,研究一下发现自己在编译和链接过程中还有一些不清楚的地方,发文章总结一下。几个问题:头文件中只可以放置函数声明,不可以放置函数定义吗? 为什么有些头文件中直接把函数定义都写进去了? 模板函数/类中要求头文件中必须包含定义才能进行模板实例化,这种...

2019-08-27 14:51:53 496

转载 【转载】C语言中字符数组的初始化与赋值

1.字符数组初始化在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。字符数组初始化char parr[] = “zifuchuanshuzu”;char charr[] = { ‘z’,‘i’,‘f’,‘u’,‘c’,‘h’,‘u’,‘a’,‘n’,‘s’,‘h’,‘u’,‘z’,‘u’ };12这是字符数组初始化的两种方式,但是这两...

2019-08-27 14:39:29 277

转载 [转载]5分钟搞定内存字节对齐

5分钟搞定内存字节对齐时间 2009-04-16标签 struct 存储 编译器 gcc 测试 google 栏目 GCC原文 http://blog.csdn.net/hairetz/article/details/4084088写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./...

2019-08-27 14:23:50 102

转载 计算结构体成员偏移量

问题写一个宏计算出结构体成员的偏移量。假设有如下一个结构体,要计算成员c的在结构体中的偏移量。typedef struct Type_t{ char a; // 0 int b; // 4~7 double c; // 8~16};注意,上述的结构体必须考虑字节对齐的问题。关于字节对齐的问题,可以参照5分钟搞定内存字节对齐,里面总结得非常到位。...

2019-08-27 14:14:51 174

转载 【转载】linux、memory、memcmp 几种实现和性能对比

linux、memory、memcmp 几种实现和性能对比皮振伟发表于皮振伟的专栏订阅1.6K在这篇文章中:前言 分析 1.kernel memcmp 2.x64 memcmp 3.glibc memcmp 4.unsigned long memcmp 5.benchmark 后记前言memcmp是最基本的库函数了。下文选择几版代码,来对比分析性能。...

2019-08-27 12:21:28 848

转载 C语言字符数组的初始化与赋值

字符数组的初始化与赋值Dabelv转载自 https://cloud.tencent.com/developer/article/1177439代码编译运行环境:VS2017+Win32+Debug1.字符数组的初始化方式C语言中表示字符串有两种方式,数组和指针,字符数组是我们经常使用的方式。变量的定义包括指明变量所属类型、变量名称、分配空间以及初始化。可以看出,变量的初始化是变量定义的...

2019-08-27 10:34:40 1896

转载 结构体数组初始化

结构体数组初始化转载自:https://blog.csdn.net/dengziliang001/article/details/87208082010-06-19 00:25 与诸君共进步 | 分类:其他编程语言 | 浏览4497次struct city{char name[20];double population;double housing;double ave;};ci...

2019-08-26 21:53:24 970

「代码随想录」背包问题专题精讲(v1.0).pdf

「代码随想录」背包问题专题精讲(v1.0)

2021-03-27

「代码随想录」回溯算法精讲(v1.1).pdf

「代码随想录」背包问题专题精讲(v1.0)

2021-03-27

笔记Python.py

Python代码笔记 代码笔记

2020-07-15

【Python3】零基础入门学习Python--Python3.docx

【Python3】零基础入门学习Python--Python3.docx

2020-07-14

Python基础课:面对对象.html

Python基础课:面对对象

2020-07-10

Python入门班教程代码.py

Python入门班教程代码.py

2020-07-10

Python面向对象class的魔术函数.py

Python面向对象class的魔术函数.py

2020-07-09

中谷教育Python教程.py

中谷教育Python教程.py

2020-07-04

C++标准函数库.docx

C语言标准库函数 实例代码

2019-12-16

C++模板库.rar

C++模板库.rar

2019-12-16

【学习笔记】Mysql入门很简单-笔记

【学习笔记】 Mysql入门很简单-笔记

2018-03-11

Python2.x --老王Python系列--基础篇习题答案

Python2.x --老王Python系列--基础篇,习题答案,记录,自己日后回顾学习。

2018-03-08

老王Python系列--基础篇习题答案记录

老王Python系列--基础篇 最后2节应用,这是基础篇21课内容

2018-03-08

A New Cryogenic CMOS Readout

CMOS Readout A New Cryogenic CMOS Readout

2014-06-21

20MPixel_s高速红外焦平面读出电路设计

20MPixel_s高速红外焦平面读出电路设计_黄张成_黄松垒_陈_郁等

2014-06-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除