day15(内存泄漏、段错误、malloc与new、API、reacter、单线程高并发、进程通信、线程通信)内存泄漏通常是由new/malloc申请内存后,缺少对应的delete/free。 判断内存是否泄漏,一方面使用linux环境下的内存泄漏检查工具Valgrind 另一方面可以添加内存申请和释放的统计功能,统计当前内存申请和释放是否一致,判断内存是否泄漏。 段错误是发生在访问非法内存地址时,一是使用野指针,二是试图修改字符串常量。 野指针 定义:指针定...
day16(linux虚拟地址空间、请求分页、分段、段页式、虚拟内存好处、缺页中断、fork与vfork、写时复制、页表地址)Linux虚拟地址空间 为了防止不同进程在同一时间在物理内存中运行而产生的物理内存争夺,采用了虚拟内存。 虚拟内存技术使得不同进程运行时,看到的是自己独自占有当前系统的4G资源。 所有进程共享一个物理内存,每个进程只需要把需要的虚拟内存映射并存储到物理内存上。 每个进程创建加载时,只是创建了虚拟内存布局...
注:笔者使用的VS版本为2019。1.打开VS2019,选择文件 -> 新建 -> 项目 2、选择项目新建项目时选择C++“控制台应用”语言:C++平台:Windows项目类型:控制台 3、运行程序 Ctrl + F5 或调试 >“开始执行(不调试)”菜单 4、运行结果 5、exe文件目录运行文件后,会生成一个exe可执行文件
关于vs潜在的升级问题概述 (Visual C++)查看官网的介绍:潜在的升级问题概述 (Visual C++)。主要问题: 1. 如果使用 /GL(全程序优化)进行编译,则生成的对象文件只能使用生成它时所用的同一工具集进行链接。即若在编译静态库时开启了全程序优化,那么编译出的静态库不可移植。 2. 在 Visual Studio 2013 及更低版本中,不能保证使用不同编译器工具集和运行时库版本生成的对象文件 (OBJ)、静态库 (LIB)、动态库 (DLL) 和可执行文件...
文章目录C++内存泄漏野指针悬挂指针memcpy-内存重叠C中函数指针作用隐式类型转换 及其问题什么是隐式转换?为什么要进行隐式转换?隐式转换原则隐式转换发生条件 C++ 内存泄漏 用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。 注意:内存泄漏是指堆内存的泄漏。 简单的说就是申请了一块内存空间,使用完毕后没有释放掉。 它的一般表现方式是程序运行时间越长,...
面试题有难有易,不能因为容易,我们就轻视,更不能因为难,我们就放弃。我们面对高薪就业的态度永远不变,那就是坚持、坚持、再坚持。出现问题,找原因;遇到困难,想办法。我们一直坚信只有在坚持中才能看到希望,而不是看到希望才去坚持。人生没有如果,只有结果和后果。既然选择了,就不后悔。年轻就是资本,年轻就要吃苦,就要历练。就要学会在坚持中成长。如此感慨,至深的心得体会,绝对的经验之谈。 1、 Static有什么用途?...
原文链接:https://www.jianshu.com/p/96b6a1533920前言: 虽然全世界每个月都可能会出现新的语言,但从TIOBE世界编程语言排行榜的数据来看,从2009年到现在,C/C++一直都在前3甲中。不论历史的车轮如何滚滚向前,学好C/C++永远不会落后。 面试官问的面试题: 一面: 1.先自我介绍; 2.把自己简历上的项目描述一下,然后选一个你认为最主要的项目来说,以及项目遇到什么问题,用什么方法解决的;3.Nagle算法和tcp的拥塞控制。 4.项...
原文链接:https://blog.csdn.net/u010481962/article/details/82771879新手Eclipse IDE for C/C++ Developers开发C语言环境搭建 搭建思想: 1、安装Eclipse IDE for C/C++ Developers软件; 2、分别安装MinGW的GNU和GCC软件 3、配置系统变量 4、实例演示 原文链接:https://blog.csdn.net/u010481962/article/details/82771879
一、Sublime配置(如已安装Package Control可跳过)sublime下载地址:http://www.sublimetext.com/3安装Package Control插件:直接下载:https://packagecontrol.io/Package%20Control.sublime-package,将所下载的文件放在C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Installed Packages内。重启Sublime,可以看到Preferences菜单下的Package Setting和Package Control 二、安装插件SideBarEnhancements(侧边栏增强插...
使用极大极小值算法,在满足电脑下棋的时候自己的局势能够获得最大权值的情况下判断在当前局势下的玩家的最小的权值,这样能够保证算法最优。 先从一个故事说起,比如说现在有有一个小偷偷了一些物品,小明看到后跟小偷说如果小偷给他一部分东西他就不报警,并且小明只取一件物品,图中的三个箱子里面分别有两个不同价值的物品,那小偷也说了,你选择箱子,我给你拿物品,这个时候为了获得最大的利益,小明应该选择2号箱子,这样...
在互联网时代,为了追随时代的发展,生活的方方面面逐渐用智能取代了人工,而小编开发的这个餐厅餐饮管理系统,恰到好处的采用了无线信息技术,更有力地促进了餐饮行业信息数字化管理。该系统优化了目前的餐饮服务流程,可为客户提供更好的服务,并最终提升餐饮企业在行业中的竞争优势。这是一款用C++制作的餐饮管理系统,采用ACCESS作为数据库,支持桌号管理,点击桌号可查看菜谱菜价等。系统分八大模块:前台管理、基础资料、厨部...
大家在上网的时候,在地址栏输入网址,IE会从已存在的网址列表中自动匹配你未输入完的网址,省去用户输入的麻烦,现在这个小程序就是模仿了IE的这个功能,有人也叫“自动完成”,那么如何在编辑框中使用本示例的IAutoComplete接口“自动完成”呢?那就好好研究一下本程序吧。 源码目录结构图: 部分源码展示(由于源码比较多,所以就不在此全部展示,需要的可以私信me):欢迎关注我,带你一起长知识。您的关注便是我每日不断更新...
新一代三维GIS技术体系,以二三维一体化技术为基础框架,进一步拓展二三维一体化数据模型,融合倾斜摄影、BIM、激光点云等多源异构数据,推动三维GIS实现室外室内一体化、宏观微观一体化、空天/地表/地下一体化,赋能全空间的三维GIS应用。这是一款用OpenGL模拟的一个3维空间模型,用VC++源码实现,一个模拟的3维视图,随着鼠标移动会改变视图,VC++6下可直接编译代码,仅此参考。项目结构展示:源码展示:总而言之,将模型添加到三...
原文链接:http://www.cnblogs.com/heroking2000/archive/2012/08/24/2654520.html今天安装了两个集成开发工具anjuta、code::blocksAnjuta是成为Gnome环境下最理想的C/C++集成开发工具,与KDE下的KDevelop类似,Anjuta 这个名称来源于其开发者 Naba Kumar 女朋友的名字,其读音按照音节划分应该是 a-nju-ta,读作“阿妞塔”。【What does the name Anjuta stand for? It does not look like one of those recursive names --...
作者:Oscarwin链接:https://www.zhihu.com/question/34574154/answer/253165162来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。今年刚找完工作的应届生来答一发,校招主要考察基础和思维,主要涉及C++语言基础,数据结构与算法,TCP/IP协议,网络编程,Linux。 虽然面试技巧和心态也很重要,但这里只有24K纯技术干货。点赞后,收藏吧! C和C++语言基础 参考书籍:《C++ primer》,《effectiv...