标签 C++ 下的文章
- 📂Clion 配置C/C++ 开发环境 (windows10)教程
1.下载mingw64http://www.mingw-w64.org/doku.php- 2.下载解压包后解压,并且把bin目录添加到系统环境变量-3.下载Clion-https://www.jetbrains.com/clion/-下载exe压缩包安装-4.运行Hello World- 5.中文乱码问题-ctrl+shift+a打开搜索框,搜索Registry,默认勾...
- 📂16w行的nginx源码,如何分拆模块阅读,手把手教你造轮子丨Nginx模块开发丨C/C++丨Linux服务器开发丨后端开发教程
16w行的nginx源码,如何分拆模块阅读,让你明白轮子如何造多进程模型下的惊群处理内存池的代码封装slab共享内存分配视频讲解如下,点击观看:16w行的nginx源码,如何分拆模块阅读,手把手教你造轮子丨Nginx模块开发丨C/C++丨Linux服务器开发丨后端开发丨中间件开发丨web服务器C/C++Linux服务器开发精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MyS...
- 📂C++ 内存角度的效率和性能优化教程
算法保证效率,减少对数据结构的访问 数据结构优化性能文章目录一、减少内存访问次数1. reserve减少分配内存次数2. Hash Lookup与内存访问二、使用连续存储数据类型1.不要使用List (不连续的内存访问)2. 使用Vector足够大部分情况3. STD::MAP性能差4.Hash表三、反直觉的算法-一、减少内存访问次数1. reserve减少分配内存次数// 优化前:多次...
- 📂C++程序代码的内存结构分析教程
C++程序内部的结构,同C程序的内部结构,也是分段的,一般分为代码段、堆、栈、数据段等。可以通过下面的代码来证明:CClassAddress.hpp 文件:#ifndef CClassAddress_hpp #define CClassAddress_hpp class CClassAddress { public: CClassAddress(); int getNum1...
- 📂《C++学习笔记》动态内存教程
动态内存和智能指针内存和智能指针简介静态内存用于保存局部static对象、类中static数据成员、定义在函数外的变量栈内存用于保存函数内部的非static对象堆(自由空间)用于存储动态分配的对象,要求显式销毁不用的对象头文件memory中提供shared_ptr智能指针以允许多个指针指向同一个对象,提供unique_ptr智能指针以独占所指对象,智能指针也是模板头文件memory中还提供伴...
- 📂C++ 共享内存实验例程教程
服务端:#include <stdio.h> #include <windows.h> #include <iostream> using namespace std; #define MAP_PREFIX L"Local\\" #define MAP_NAME L"SampleMap" #define FU...
- 📂面试准备每日五题:C++——全局&局部变量、内存分配、strcpy&sprintf&memcpy、函数指针、引用教程
文章目录1. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?2. 简述C、C++程序编译的内存分配情况3. 简述strcpy、sprintf 与memcpy 的区别4. 解析(\*(void (\*)( ) )0)( )的含义5. C语言的指针和引用和c++的有什么区别?1. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?全局变量是整个...
- 📂C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)教程
C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)相信大部分同学刚毕业或者想转行做c++服务端开发的时候都很迷茫不知道从哪里开始学习,于是准备参加各种培训班或者网络培训,有不知道该怎么选择,对于在校学生或者刚出来就业的新人无疑是沉重都打击,但是却不知道从哪里下手。我写这篇文章的目的就是为了帮助更多想入行或者想转行做c++服务器的新人避免走更多的弯路,最终能够顺利的掌握相关知...
- 📂【Linux C与C++一线开发实践】之六 多线程高级编程教程
在多线程编程中,所有的线程都是并发、并行并且是异步执行的。这样就带来了线程间资源竞争的无序性,因此,我们需要引入同步机制来消除这种复制度并实现线程间的数据共享,以一致的顺序执行一组操作。场景:多个线程对同一临界区做操作。利用POSIX多线程API函数进行线程同步POSIX提供了3种方式进行线程同步,即互斥锁、读写锁和条件变量。 1.互斥锁 互斥锁的原理是同一时刻,只允许一个线程对临界...
- 📂C++动态内存和类教程
C++动态内存和类一、使用C++使用new和delete运算符来动态控制内存。先上一段示例代码分析:二、示例代码// StringBad.h class StringBad{ private: char* str; int len; static int num_strings; public: StringBad(); StringBad(const...
- 📂零声学院C/C++Linux服务器开发/高级架构师怎么样?教程
这个课程还是非常良心的 想要学习的可以忽略下面(这段话),直接看最底端 非常好的C/C+服务器开发课程,学员评价职场新人一个今年刚毕业,找的linuxc开发,现在工作是熟悉代码,工程代码里面用到很多开源库,可以说很多都是课程里面讲过的,比如一些网络库,基础的存储结构都有用到红黑树,线程池内存池,还有反应堆模型,很多连接方式都是这样来写的,到要是自己去一个一个看是很难的,有一个老师将重...
- 📂Windows使用vscode连接Linux虚拟机编写C/C++程序教程
文章目录前言一、安装vs code1. 下载安装vs code2. 安装vs code 插件二、配置虚拟机1. 确保虚拟机的ssh服务可用2. 记录虚拟机IP3. PC机Windows10三、连接虚拟机四、完善远程连接Linux编程体验1. 免密连接虚拟机2. 在远程主机上安装扩展3. Linux下vs code C++程序的编译执行4. 服务器配置五、踩坑记录总结-前言我是一枚学生党,目前...
- 📂c++-Sogou C++ Workflow-Windows平台编译过程记录教程
changelog 2021年1月19日 继续尝试编译并运行实例程序 2021年1月18日 初步编译运行程序,编译出错 下载代码eatcosmos/workflow: C++ Parallel Computing and Asynchronous Networking Engine切换到Windows分支,因为这里是用Windows开发的。参考[优秀开源项目C++高性能服务器引擎...
- 📂QT5 windows 开发环境搭建教程
QT作为一个跨平台的C++开发工具近年来发展的很快,不得不说QT作为C++开发IDE是真香,自即日起将陆续介绍QT的开发环境搭建以及使用。Windows下QT可选两种版本,VS编译器版本和Mingw版本,这里选择VS版本,原因如下:Mingw版本是QT为了跨平台做的类似Linux库的版本,其内核基本是重新开发了一套,而VS版本,你懂得,微软的东西,肯定是最大程度的兼容Windows,您要做W...
- 📂C/C++内存泄漏检测方法教程
1. 内存泄漏内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。2. 检测代码使用链表记录每个malloc返回的指针,释放时从链表中查找并删除找到对应指针的节点。最终输出链表,该链表记录了所有没有释放的动态内存。#include <stdio.h> #include &l...
- 📂C++ & Linux后端开发进阶之:C++的开源项目教程
在前文 C++ & Linux后端进BAT的学习路线 中,讲述了C++后端的学习路线。进一步,本文讲解两个问题:怎么阅读学习C++源码学习哪些C++项目怎么学习在介绍具体的C++项目之前,先介绍我自己学习开源项目、阅读源码的方式:首先!!!要学会使用这个项目。以STL为例,应该极少有人学习STL是直接从阅读STL源码开始的,基本都是从学习std::vector、std::list等容器的使用...
- 📂C/C++如何解决数组内存越界问题教程
数组大小在不知道时,一般使用动态内存,或者直接赋值。 但这篇文章不是讲怎么处理数组大小的,主要是讲为什么会出现内存越界问题。-本篇文章以C代码示范-数组里放的除了数字就是字符,我们就只讨论这两种情况。整型数组字符串数组-整型数组我们来看这一段代码int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int sz = sizeof(arr) / sizeof(arr[0...
- 📂C++ 非可视化编程的windows窗口计算器(简易版)教程
一个在Dev-C++中写的非可视化编程的windows窗口计算器简易版,其运行效果如下图:所有框架和单目运算已经做好,+-*/暂未完成,代码还有改进空间......#include <iostream> #include <iomanip> #include <sstream> #include <string> #include <cm...
- 📂C++————虚函数内存模型教程
虚函数内存模型纯虚函数=========================================================在有些情况下,在基类中不对虚函数给出有意义的实现,仅当做统一的变成接口来使用,它的实现留给该基类的派生类去做,这种称为纯虚函数纯虚函数相当于一个接口模板,一个类中如果定义了纯虚函数,则这个类被称为抽象类,C++规定抽象类不能直接实例化对象派生类继承父类的纯虚...
- 📂Windows中VS code无法查看C++ STL容器的值 - 解决方法教程
Windows中VS code debug时无法查看C++ STL容器内容首先,你很可能用的是x64版本的Windows。我发现一个有效的解决方法,但在x64版本的Windows上安装MinGW时,虽然官方推荐MinGW版本的是x86\_64的,但实践后发现如果选择安装 x86\_64的, 很可能Debug时会无法看到STL容器(vecotr、map等)的具体信息,看到的是相应的内存地址~故...
- 📂C++: 内存分布、全局静态初始化区域、堆栈区的区别等教程
C++程序内存分布了解、理解C++内存分布机制,有利于后续很多概念的理解,内存泄漏、程序大小、静态成员等。C++开发的基础知识。先来张图:分为以下几部分:栈区(stack):由编译器自动分配并释放,一般用于:函数参数传递、函数内部局部变量。操作方式类似于数据结构中的栈,先进后出。堆区(heap):由程序员手动分配,并由程序员手动释放。未释放时会在程序退出时由操作系统释放。跟数据结构中的堆(先...
- 📂Linux002、Ubuntu20常用初始化配置教程
一、设置虚拟终端光标二、关闭系统自动更新如果想更新系统等,在终端中输入命令:sudo apt-get update三、首次设置root密码如果想二次修改密码,使用命令: sudo passwd root //修改root用户密码 sudo passwd haut //修改haut用户密码 sudo passwd 用户名 //....... 四、安装文本编辑器vim五、安装程序编...
- 📂C++类和动态内存分配教程
动态内存和类如果有这样的strbad类:#include<iosream> #ifdef STRBAD_H_ #define SREBAD_H_ class strbad{ private: char * str; int len; static int num; public: strbad(const char *s); str...
- 📂Linux下C++跨平台获取高精度时间戳教程
简介-C++语言本身及Linux操作系统均提供了时钟相关的函数,可以方便获取时间。但是,在一些场合下,需要的时间精度不同,又不能通用。如果依赖于Linux平台,又不能做到跨平台。所以优化考虑使用C++语言本身提供的函数。本文介绍使用 std::chrono 命名空间下的函数来获取时间戳。需要 c++11 支持。关于时间函数的介绍,请参考 Linux c++获取本地毫秒级精确时间 。获取时间跨...
- 📂linux UDP C++网络编程演示教程
1.引用头文件#include <iostream> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h>...
- 📂一、C++内存分区模型教程
文章目录前言一、代码区和全局区1、代码区2、全局区二、栈区和堆区1.栈区2.堆区三、new操作符总结-前言C++程序在执行时,将内存大方向相划分为4个区域:代码区:存放函数体的二进制代码,有操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区: 由编译器自动分配和释放,存放函数的参数值,局部变量等堆区: 由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区的意义: 不同...
- 📂C/C++编程日记:制作一个简单的内存外挂教程
简单外挂 通过 C 语言编写一个简单的外挂,通过api函数修改游戏数据,从而实现作弊功能对象分析要用的 API 函数简单介绍编写测试效果 本次游戏对象为 Super Mario XP没有更新所以可用任意版本 试玩发现人物血量最大为 10,心最大为 99,命最大为 99要用的 API 函数简单介绍HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpW...
- 📂C/C++编程笔记:C ++中用于动态内存的new和delete运算符教程
C / C ++中的动态内存分配是指程序员手动执行内存分配。动态分配的内存在堆上分配,非静态和局部变量在堆栈上分配内存。有什么应用?动态分配内存的一种用途是分配可变大小的内存,而可变长度数组除外,这是编译器分配的内存无法实现的。最重要的用途是为程序员提供了灵活性。无论何时需要和不再需要,我们都可以自由分配和取消分配内存。在许多情况下,这种灵活性会有所帮助。此类情况的示例是“链表”,“树”等。...
- 📂Linux下基于VSCode和CMake的C++开发和调试教程
1. 编译器、调试器安装1.1 安装GCC, GDBsudo apt update #通过以下命令安装编译器和调试器 sudo apt install build-essential gdb 安装成功确认# 以下命令确认每个软件是否安装成功 # 如果成功,则显示版本号 gcc --version g++ --version gdb --version 1.2 CMake安装# 通过以下命令安...
- 📂JetBrains CLion C++ IDE连接wsl2(Ubuntu)时,报错“Unable to establish SSL connection“解决方案教程
clion连接wsl2官方教程如下https://www.jetbrains.com/help/clion/how-to-use-wsl-development-environment-in-clion.html【注】以下解决方案以安装好windows子系统wsl2为前提。(且官方脚本只适用于Ubuntu系统) 【注】解决问题只需看标题"问题解决方案"下的内容。复现操作流程并记录报错按照...