- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 使用Visual Studio 2017中的C++标准库模块
关于C++ ModuleC++目前有一个广受开发者诟病的由“Include”产生的一大堆复杂的嵌套以及一系列麻烦的依赖的问题,进而导致了编译速度极慢,而C++引入Module这一特性很大程度上就是为了解决这个问题,它的作用和用法与它在其它譬如Python、Java、C#语言中差不多。同时,C++ Module这一特性也是目前C++ 开发者呼声最高的特性之一,然而,遗憾的是,在C++ 17中并没...
2020-04-05 00:43:45
3059
转载 C中的volatile用法
.volatile的本质:1> 编译器的优化在本次线程内, 当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后,再取变量值时,就直接从寄存器中取值;当变量值在本线程里改变时,会同时把变量的新值copy到该寄存器中,以便保持一致。当变量在因别的线程等而改变了值,该寄存器的值不会相应改变,从而造成应用程序读取的值和实际的变量值不一致。当该寄存器在...
2018-09-25 20:14:22
510
翻译 Use of $Super$$ and $Sub$$ to patch symbol definitions
There are special patterns you can use for situations where an existing symbol cannot be modified.An existing symbol cannot be modified, for example, if it is located in an external library or in R...
2018-09-25 11:01:28
214
转载 你真的了解sizeof 么?
sizeof并不是C语言和C++语言中的一个函数,而是一个关键字,一个操作符。它的作用是返回一个对象或者类型名的长度,也就是说这个对象或者类型所占的内存字节数。它的返回值类型为size_t(usinged int),长度的单位是字节。1)对基本数据类型运用sizeof操作,得到其占用内存的字节数。如 int a; double d; printf("%d",sizeof ...
2018-09-19 17:12:42
270
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配...
2018-09-19 17:10:43
139
转载 【转载】C语言中的static 详细分析
google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源...
2018-09-19 16:39:23
179
转载 atoi 和 itoa的实现
atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa:1, atoi原型: int atoi(const char *nptr);函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。#include <st...
2018-09-19 16:33:46
173
转载 一些常用函数的实现
1、Strcat函数原型如下:char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数{ char * address = strDest; //该语句若放在assert之后,编译出错 assert((strDest != NULL) &&...
2018-09-19 16:30:39
275
转载 char str[] 和 char *str的区别
char* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。 此函数返回的是内部一个局部字符数组str的地址,且函数调用完毕后 此...
2018-09-19 15:26:02
679
转载 C语言常见类型占用字节数
整数是编程中常用的一种数据,C语言通常使用int来定义整数(int 是 integer 的简写),这在《大话C语言变量和数据类型》中已经进行了详细讲解。在现代操作系统中,int 一般占用 4 个字节(Byte)的内存,共计 32 位(Bit)。如果不考虑正负数,当所有的位都为 1 时它的值最大,为 232-1 = 4,294,967,295 ≈ 43亿,这是一个很大的数,实际开发中很少用到,而诸...
2018-09-15 23:53:46
11221
转载 Git 安装和使用教程(转发收藏)
git 提交 全部文件 git add . git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件。注意 -A 选项后面还有一个句点。 git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件...
2018-08-07 14:34:24
216
原创 cadence 17.2学习笔记--
allegro尺寸标注:Linear dimension 用于标注两点间的线性尺寸;Angular dimension 用于标注两条线之间的角度;Leader line 用于添加指引线,Edit leaders用于编辑引线;Diametral leader用于标注直径;Radial leader用于标注半径;Balloon leader用于对元件进行按序标注;Cha
2017-03-23 14:59:28
6084
原创 关于安装.Net Framework 安装失败回滚退出的解决办法
此办法适用于 .Net Framework 目前可能出现的安装失败,回滚退出的的情况。本人在win 7 X64上多次尝试过,.Net Framework 4.5 .Net Framework 4.6 .Net Framework 4.6.2 这三种我都出现了安装回滚退出失败的情况。以下为解决办法:1、打开C盘windows文件夹,找到System
2017-03-21 09:44:35
29871
9
原创 Python 3.x 学习 —— 递归函数
计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。解决递归调用栈溢出的方法是通过尾递归优化。尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次
2017-03-20 17:15:58
2758
转载 汉诺塔(Hanoi)问题
include #include using namespace std;static int step = 0;void move ( char sour, char dest ){ printf ( "move from %c to %c \n", sour, dest );}void hanoi ( int n, char sour, char
2017-03-20 16:47:02
550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人