自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ | const用法(与指针结合/类型转换)

const用法在C代码中const修饰的量,可以不用初始化,C中不叫常量,而叫常变量,不能作为左值被改变,可以通过指针找到常变量的内存地址改变其值,常变量不可做为数组的下标。在C++中,必须初始化,叫常量。与C不同,C中const被当作一个变量来编译生成指令,而C++,所有出现const常量名字的地方都被常量的初始化替换了。在C++中,当const被一个变量初始化(int a = 10; const int b = a;)时,而不是被立即数初始化,则他退化成常变量,与C语言一样,是一个变量。(注意

2022-02-24 18:11:30 2278 2

原创 C++ | 详解函数重载

什么是函数重载?一组函数,其中函数名相同,参数列表的个数或类型不同,那么这一组函数就成为函数重载一组函数要称得上函数重载,一定是处在同一个作用域中函数名同,参数列表同,返回值不同,不叫重载,因为函数符号都相同函数重载是通过函数符号来判断的,如void func(int a);和void func(const int a);这两个函数名相同,参数都为int型,生成的函数符号伟func_int所以不算函数重载C++在C的基础上支持函数重载,是因为C++中函数会在汇编时产生函数符号,一般由函数名+参

2022-02-17 17:47:11 653

原创 C++ | inline内联

- 调用普通函数调用过程有参数压栈,函数栈帧的开销和回退等,存在函数调用的开销。- inline函数在编译过程中,没有函数调用的开销,在函数的调用点直接把函数的代码进行展开处理inline函数不再生成相应的函数符号,而普通函数会生成函数符号,如int sum(int a, int b);会生成sum_int_int的函数符号。并不是所有的inline函数都会被编译器处理成内联函数(如递归)。在debug版本中,inline不起作用,只有在release版本中起作用。注意:函数被声明为内联函

2022-02-16 17:13:22 581

原创 程序编译链接原理

编译过程预处理:处理#开头的指令编译:将.cpp翻译成.s的汇编代码汇编:输出符号表,将.s翻译成.o的机器代码,二进制可重定位的目标文件(.*o)链接:编译完成所有的.o文件,以及静态库文件(*.a,.*lib)链接链接详细过程将所有.o文件的代码段合并,符号表合并后,进行符号解析(所有对符号的引用/UND/都要找到符号定义的地方)符号的重定向(给所有符号分配虚拟地址)生成xxx.exe/a.out可执行文件举例int gdata = 10;int sum(int a,int

2022-02-14 13:50:44 303 2

原创 函数调用堆栈的过程

int sum(int a,int b){//函数左括号:给当前函数开辟栈帧空间//函数右括号:归还栈空间,并回到原来调用它的函数 int temp=0; temp = a+b; return temp;}/*sum的汇编代码push ebp;mov ebp,esp; 将ebp指向esp的位置,并将ebp的原地址保存sub esp,4Ch; 开辟栈帧空间mov dword ptr[ebp-4],0; 存temp=0mov eax,dword ptr[ebp+0Ch];

2022-02-11 12:55:18 803 2

原创 Android/Java获取百度UNIT对话API服务

获取token类AuthService.javapackage com.example.myapp.util;import org.json.JSONObject;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import java.util.Map;/

2021-09-21 08:45:15 536

原创 Android 随机生成验证码

Code.javapackage com.example.myapp;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import java.util.Random;public class Code { /** * 随机数数组 * 去除了易混淆的 数字 0 和 字母

2021-08-25 08:35:18 467

原创 libevent——高并发服务器

void listener_cb(struct evconnlistener *listener, evutil_sockect_t fd, struct sockaddr *addr, int socklen, void *arg

2021-08-25 08:19:12 650

原创 (Linux-OS实验-求100000个浮点数之和)信号量与共享内存

信号量与共享内存求100000个浮点数的和。要求:(1)随机生成100000个浮点数(父进程);(2)然后创建4个后代进程,分别求25000个浮点数的和;(3)父进程对4个后代进程的结果求和;(4)进程间用共享内存进行通信,用信号量实现同步和互斥。要求在创建子进程之后,由父进程创建共享缓冲区和信号量。#include <stdio.h>#include <sys/mman.h> //共享内存#include <semaphore.h> //信号量#

2020-06-06 17:42:19 3952

瑞天图书管理系统分析与设计

在现代人们生活水平逐渐提高,人们不仅仅只需要物质上的满足,还需要精神文化上的满足,所以图书也变得尤为重要,对图书的管理也显得更为关键。对于为什么需要对图书进行有效的管理,理由如下:图书存书量和业务量庞大,对于传统的记账方法过于繁琐;图书馆需要向需求者公开相关资料库存,因此需要建立庞大的数据库;图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书管理员需要管理借书、还书情况,并进行借阅者的登记,工作量较大,图书管理系统可以高效率地处理这些功能,减轻管理员的工作量。 此项目是针对图书管理的需求而设计,包括借还书籍、增删书籍、查看借阅情况、盘点资料等主要功能。模块

2020-11-05

空空如也

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

TA关注的人

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