
C/C++
文章平均质量分 63
Horizon_ys
这个作者很懒,什么都没留下…
展开
-
【操作系统】MIT 6.S081 LAB8
重新设计代码以提高并行性性能原创 2022-02-22 15:29:53 · 797 阅读 · 0 评论 -
【操作系统】MIT 6.S081 LAB7
实验目的:学习进程间切换流程,实现用户线程切换,学习使用pthread。原创 2022-02-19 11:29:09 · 558 阅读 · 0 评论 -
【操作系统】MIT 6.s081 LAB6
在本次实验中需要实现cow(copy-on-write),当创建子进程时,并不实际对父进程进行拷贝,而是将页表项改为只读,在父/子进程第一次对页面进行写操作时才进行内存的拷贝,从而节约实际使用内存空间。原创 2022-02-04 14:58:03 · 1763 阅读 · 1 评论 -
【操作系统】MIT 6.s081 LAB5
实现延迟分配用户空间堆内存,在调用`sbrk()`的时候,不立即分配内存,而是当内存页面真正被访问时才进行实际的物理内存分配。原创 2022-02-02 13:56:18 · 5163 阅读 · 0 评论 -
【操作系统】MIT 6.s081 LAB4
LAB 4: Traps原文地址:YSBLOG参考:[mit6.s081] 笔记 Lab4: Traps | 中断陷阱实验目的:探索如何通过trap实现系统调用。RISC-V assembly (easy)阅读call.asm函数代码,回答一下问题:1、哪些寄存器保存函数的参数?例如,在main对printf的调用中,哪个寄存器保存13?在risc-v中a0-a7寄存器保存函数参数,如果函数参数超过8个,则保存在内存中,函数调用的默认第一个参数为函数本身名字,存放在a0寄存器,所以13作为pr原创 2022-01-11 13:01:16 · 1443 阅读 · 6 评论 -
【MySQL】【Cpp】Cpp访问MySQL数据库
原文地址:YSBLOG程序环境阿里云轻量应用服务器 1核2G阿里云关系型数据库 MySQL 8.0 1核1G初始化 MYSQL mysql; //构建一个mysql句柄对象 mysql_init(&mysql); //对句柄对象进行初始化连接MySQLAPI:mysql_real_connect();返回值: 连接成功返回连接句柄,与第一个输入参数相同 连接失败返回NULL参数: mysql:mysql结构句柄 host:主机名或者原创 2021-09-01 19:39:50 · 735 阅读 · 0 评论 -
KMP-字符串匹配问题
原文地址:https://www.ysblog.cc/archives/%E7%AE%97%E6%B3%95%E7%AC%94%E8%AE%B0kmp-%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8C%B9%E9%85%8D%E9%97%AE%E9%A2%98算法目标解决字符串匹配问题,查找模式串p在主串s中第一次出现的位置,实现strstr()函数。例子主串 s : aabaabaaf主串长度 m模式串 p : aabaaf模式串长度 n{:原创 2021-07-31 23:57:33 · 287 阅读 · 0 评论 -
【C++】解决no member named ‘get_io_service’
由于boost库在1.7以后的版本移除了get_io_service。所以对代码作如下修改://保证兼容性#if BOOST_VERSION >= 107000#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())#else#define GET_IO_SERVICE(s) ((s).get_io_service())#endifboost::asio::io_转载 2021-03-01 21:24:26 · 4160 阅读 · 1 评论 -
【C++】detach和join的区别
首先看一下join的简单示例://joinTest.cc#include<iostream>#include<thread>class Obj{ public: Obj() {std::cout << "hello ";} ~Obj() {std::cout << "world\n";}};void joinWorker(){ Obj obj; std::this_thread::sleep原创 2021-02-18 16:35:07 · 851 阅读 · 0 评论 -
【C++】多线程中调用函数的方法
在多线程中调用函数的方法:以函数名和函数参数作为输入对象来构造线程对象:t2 t4 t6 t7通过lambda表达式调用函数,将函数作为lambda表达式的内容: t1 t3 t5#include <iostream>#include <thread>#include <string>void printAll(int a, int b, int c){ std::cout << a << " " << b &l原创 2021-02-14 23:14:15 · 3589 阅读 · 0 评论 -
【C++】shared_ptr中循环引用问题
shared_ptr中循环引用问题测试代码如下:代码中含有两个类,Parent和Child。Parent类成员中有一个Child类的智能指针。Child类成员中有一个Parent类的智能指针。#include <iostream>#include <memory>class Child;typedef std::shared_ptr<Child> ChildPtr;class Parent;typedef std::sha...原创 2021-02-08 11:46:21 · 576 阅读 · 1 评论 -
【820复试题】用Eratasthene筛选法求质数
Eratasthene筛选法原理是通过空间换时间,求N个数以内的质素,先申请N个空间大小的数组,通过不断对2,3,4…sqrt(N)的倍数进行删除,最后输出剩下数字。C代码如下:#include<stdio.h>#include<math.h>#define N 200int main() { //申请大小为N+1的数组空间,使数组下标与实际序号对应 //数组arr中值为1表示该数不为质数,值为0为质数 int arr[201] = {0}; for (int d原创 2020-08-28 20:48:15 · 529 阅读 · 0 评论