C/C++
TJ
这个作者很懒,什么都没留下…
展开
-
C 语言编译器 gcc 命令详解
Linux 系统中最重要的软件开发工具是 gcc,在 Linux 系统中,c89、cc 和 gcc 这些命令基本上都指向系统的C语言编译器,通常是GNU C编译器,或都简称 gcc。在 UNIX 系统中,C 语言编译器称为 cc。实际上,gcc 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序,一般来说,C...转载 2018-09-21 09:19:45 · 1415 阅读 · 0 评论 -
gdb调试命令
1. gdb 调试利器https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.htmlGDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Linux下工作的c++程序员,gdb是必不可少的工具;1.1. 启动gdb对C/C++程序的调试,需要在编译前就加上-g选...转载 2018-09-21 10:15:56 · 380 阅读 · 0 评论 -
%lf 和 %f 有什么区别
scanf函数是通过指针指向变量的。%f告诉scanf函数在所传地址位置上存储一个float型值, 而%lf告诉scanf函数在所传地址位置上存储一个double型值。这里float和double的区别是非常重要的。如果给出了错误的转换说明,那么scanf函数将可能存储错误的字节数量(没有提到的是,float型的为模式可能不同于double型的位模式)。 Taku —— SegmentF...原创 2018-09-21 10:26:57 · 52171 阅读 · 9 评论 -
C语言sscanf()函数:从字符串中读取指定格式的数据
头文件:#include <stdio.h>sscanf()函数用于从字符串中读取指定格式的数据,其原型如下:int sscanf (char *str, char * format [, argument, …]);【参数】参数str为要读取数据的字符串;format为用户指定的格式;argument为变量,用来保存读取到的数据。【返回值】成功则返回参数数目,失败则返回-...转载 2018-09-27 11:03:00 · 5075 阅读 · 0 评论 -
c++中,引用和指针的区别是什么?
作者:xmqv链接:https://www.zhihu.com/question/37608201/answer/72766337来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。C++primer中对 对象的定义:对象是指一块能存储数据并具有某种类型的内存空间一个对象a,它有值和地址&a,运行程序时,计算机会为该对象分配存储空间,来存储该对象的值,我们...转载 2018-10-04 21:34:28 · 270 阅读 · 0 评论 -
C语言中的nan和inf 的判断和使用
https://blog.csdn.net/wokaowokaowokao12345/article/details/72846436总结的非常好转载 2018-09-22 11:32:20 · 2038 阅读 · 0 评论 -
无法定位程序输入点__gxx_personality_v0的一个解决方法
windows系统,使用mingw32-g++编译一个简单的工程,编译链接过程都没有错误提示,但是运行的时候会弹出提示框提示“无法定位程序输入点__gxx_personality_v0”在我这里是因为系统的环境变量的目录中有几个版本不同的libstdc+±6.dll。一个解决方案是使用 -static 选项编译工程。另一个解决方案是 删除掉其他含有libstdc+±6.dll 的PATH环境...转载 2018-09-28 14:43:00 · 857 阅读 · 0 评论 -
C++stl总汇
#include <string>https://www.byvoid.com/zhs/blog/cpp-string转载 2018-10-07 12:23:37 · 175 阅读 · 0 评论 -
C语言 栈和堆详解
关于C语言malloc的一个问题,自动和手动分配内存的区别是什么?//定义一个结构typedef struct linkedlist* nextnode; typedef struct linkedlist{ char c; nextnode next;}link;//第一种 link* newLink(){ link* l; l=(link*)malloc(sizeof(l...转载 2018-09-29 15:02:07 · 332 阅读 · 0 评论 -
C++函数返回引用
注:C++ 有三种传递方式:值传递,指针传递,引用传递返回 “值” 和返回 “引用” 是不同的函数返回值时会产生一个临时变量作为函数返回值的副本,而返回引用时不会产生值的副本,既然是引用,那引用谁呢?这个问题必须清楚,否则将无法理解返回引用到底是个什么概念。以下是几种引用情况:一、千万不要返回局部对象的引用 const string &mainip(const string &a...转载 2018-10-02 19:31:29 · 4598 阅读 · 0 评论 -
C++中:const用法
在《看游戏人工智能案例精粹》的demo代码的时候,看到函数后边有个const。当const修饰类方法时,该方法不修改任何类成员变量。因为const成了函数的一员,可以用于函数重载,匹配const对象。const的其他用法请见:https://www.cnblogs.com/jiabei521/p/3335676.html...原创 2018-10-02 17:35:34 · 356 阅读 · 0 评论 -
教育网环境下,VS2017安装或者更新过慢问题解决
今天重装VS2017,速度只有100到200kb每秒,当在更改适配器->属性->取消勾选IPV6协议后,速度达到2M甚至3M每秒。好像和V6协议被限速有关系?怪不得看油图毕的教学视频那么卡。。。。...原创 2018-10-02 11:57:37 · 23442 阅读 · 19 评论 -
句柄
从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是”Handle”,本义就是”柄”,只是在计算机科学中,被特别地翻译成”句柄”,其实还是个”柄”。从一个小东西拎起一大堆东西,这难道不像是个”柄”吗?然后,指针其实也是一种”句柄”,只是由于指针同时拥有更特殊的含义——实实在在地对应内存里地一个地址——所以,通常不把指针说成是”句柄”。但指针也有着能从一个32位的值引用到一大堆数据转载 2017-11-21 14:56:13 · 296 阅读 · 0 评论 -
C/C++ memset详解
memset原型 (please type “man memset” in your shell) void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一: 搞反了c 和 n的位置.一定要记住 如果要把一个char a[20]清零, 一定是 memset转载 2017-11-27 11:40:54 · 316 阅读 · 0 评论 -
以数组作为函数参数退化为指针
在C++中,数组永远不会按值传递。它是传递第一个元素(准确地说是第0个)的指针。 例如,如下声明: void putValues(int[10]); 被编译器视为: void putValues(int*); 数组的长度与参数声明无关。因此,下列三个声明是等价的: void putValues(int*); void putValues(int[]); vo转载 2017-11-27 17:39:00 · 726 阅读 · 0 评论 -
windows 控制台默认为UTF-8显示的方法
md命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致。修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001切换回中文:chcp 936这两条命令只在当前窗口生效,重启后恢复之前的编码。切换cmd窗口字符编码有风险,例如切换过以后中文显示乱码,并且不能永久切换回原来模式,只能每次chcp 936。cmd中文显示乱码永久解决方案,以切换回中文936为例:...转载 2018-09-23 17:24:07 · 1014 阅读 · 0 评论 -
关于Segmentation fault(段错误)探究
在编写算法竞赛习题2.5时,数据无法正常输入到文件data1.out,用gdb调试的时候,报错:Program received signal SIGSEGV, Segmentation fault.__chkstk_ms () at …/…/…/src/gcc-6.3.0/libgcc/config/i386/cygwin.S:172172 …/…/…/src/gcc-6.3.0...原创 2018-09-25 10:17:38 · 3881 阅读 · 0 评论 -
C语言小数四舍五入输出可控制位数
本文章说明怎样使得你能保留小数点后几位(四舍五入)及其可控制的位数的实现:#include <stdio.h>int main(){double a = 423.43654; a = int(a*100+0.5)/100.0; //到这的a值变成了423.440000printf("%lf\n", a); //以小数后两位的形式输出return 0;}运行结果...转载 2018-09-25 12:53:31 · 2413 阅读 · 0 评论 -
C字符数组赋值
在做《算法竞赛入门经典》习题2-10 permutation时,遇到数组初始化赋值的问题。结论:数组只有在初始化,也就是 声明+赋值的时候可以采用大括号的方式,来初始化。其他时候都必须用循环一个个赋值。具体例子如下,注释里有讲解。// 排列 permutation#include&amp;lt;stdio.h&amp;gt;int main(){ int a,b,c; int check[...原创 2018-09-25 15:41:27 · 849 阅读 · 0 评论 -
刷牛客的知识点
数组:顺序表: 用数组表示的线性关系 链表:用向量和节点表示的线性关系上三角矩阵和下三角矩阵怎么记: 高斯消元静态链表:用数组储存的链表c# 程序集 序集 https://blog.csdn.net/xiantian7/article/details/24409659c#c#中扩展方法的总结 总结 https://blog.csdn.net/qinyuanpei/a...原创 2018-09-15 10:50:22 · 177 阅读 · 0 评论 -
dep文件 dsp文件 dsw文件
dep文件:是相关文件,记录该组件引用的文件。比如你建立了一个AA.dll,其中引用了A.dll,如果没有aa.dep文件的话,安装程序程序只会包含aa.dll,需要手动添加a.dlldsp文件 VS dsw文件:dsw 是工程项目文件dsp 是工程文件项目里面可以有很多工程即:dsw 大于 dsp...原创 2018-10-02 11:32:27 · 1655 阅读 · 0 评论 -
二面尬点
今天整个人晕乎乎… ̄□ ̄||, 找个借口安慰下自己。不想多说了,言归正传吧。一、unity3D项目相关:(camera类型,哪些类型可以实现光照) ->组件熟悉度你会哪些设计模式-> 概括精炼语言基础C/C++ -> 算法,底层编码&(int转float,float还能转回int么?这不就是为啥C/C++是类型不安全的语言么)算法基础(算法竞赛入门还是要...原创 2018-10-10 16:30:32 · 294 阅读 · 0 评论