- 博客(111)
- 资源 (1)
- 收藏
- 关注
原创 c语言函数内局部static变量对应汇编
void test(){static int a=1;int b=10;a++;b++;}int main(){test();test();}gcc -S filename.c可以看到a不在寄存器或者栈上,存在一个单独section中。
2022-08-22 13:57:58
398
原创 西安邮电实验4.5-linux内存映射实现
西安邮电实验4.5-linux内存映射实现1.首先简单熟悉一下mmap()系统调用,如下实现cat 功能:
2021-11-21 17:46:55
1214
原创 程序员面试金典-0501-插入
程序员面试金典-0501-插入思路://1.Convert N and M to binary//2.Set the bits i to j of N to 0//3.Calculate the effective bit of M,that is, the first bit is 1 to the end.effe_bit_m->31//4.Put the effective bits of M into N//5.Convert binary to decimal给定两个整型数字
2021-11-21 15:55:39
3548
原创 哈工大操作系统实验5-基于内核栈切换的进程切换
哈工大操作系统实验5-基于内核栈切换的进程切换1.首先进程切换的swith_to()函数:#define switch_to(n) {\struct {long a,b;} __tmp; \__asm__("cmpl %%ecx,_current\n\t" \ "je 1f\n\t" \ "movw %%dx,%1\n\t" \ "xchgl %%ecx,_current\n\t" \ "ljmp %0\n\t" \ "cmpl %%ecx,_last_task_used_math\n\t
2021-11-14 20:12:47
275
原创 程序员面试金典-0506-整数转换
程序员面试金典-0506-整数转换十进制转二进制没有库函数,刷题两次遇到需要调用该函数,就写了函数con_int_to_bin()。很不简洁:对于-2147483648取反需要考虑溢出问题。可以直接通过位运算来转化?下周试一试~整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。示例1: 输入:A = 29 (或者0b11101), B = 15(或者0b01111) 输出:2示例2: 输入:A = 1,B = 2 输出:2提示:A,B范围在[-2147483648
2021-11-13 16:19:58
776
原创 西安邮电实验3.5-基于内核模块的负载监控
西安邮电实验3.5-基于内核模块的负载监控有几个问题没有答案:1.空的load.h 的作用是什么?2.遍历线程使用的源码:#define do_each_thread(g, t) \ for (g = t = &init_task ; (g = t = next_task(g)) != &init_task ; ) do#define while_each_thread(g, t) \ while ((t = next_thread(t)) != g)发现:1.静态变量
2021-11-07 11:50:09
352
1
原创 程序员面试金典-0305-栈排序
程序员面试金典-0305-栈排序这个题目一直没pass,是因为测试数据有相同的数据,需要注意。栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。示例1: 输入:["SortedStack", "push", "push", "peek", "pop", "peek"][[], [1], [2], [], [],
2021-11-06 18:26:19
157
原创 程序员面试金典-0503-翻转数位
程序员面试金典-0503-翻转数位给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。示例 1:输入: num = 1775(110111011112)输出: 8示例 2:输入: num = 7(01112)输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-bits-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。i
2021-11-02 22:07:54
172
原创 20211031
202110311.父进程和其子进程不能判定谁先结束情况下:父进程先结束,子进程被init 进程收养;子进程先结束,父进程不去wait ()获取状态,成为僵尸进程
2021-10-27 11:00:46
179
原创 西安邮电实验3.4-打印task_struct相关信息
西安邮电实验3.4-打印task_struct相关信息这个实验通过插入module来打印进程task_struct相关信息。其中重要的是内核提供了一种可以访问内核的便捷方式:
2021-10-23 21:25:51
234
原创 20211024
20211024用局部变量struct 存储全局变量,会造成栈溢出,出现fatal error 。更好的办法是取其指针,struct temp = &(context [0])
2021-10-22 09:36:03
124
原创 Visual Studio使用事项
Visual Studio使用事项1.个人使用免费版本即community版本,试用期为30天,可以通过手机号或者邮箱号激活之后永久免费使用。2.新建项目 --> Win32控制台应用程序3.Visual Studio生成发布版本之前,需要清除中间文件 : 生成 --> 清理解决方案 --> 生成配置从debug改为release --> 生成 --> 生成解决方案。为了使生成的exe文件不闪一下就消失,可以在最后一行加入:#include <iostream&
2021-10-17 20:09:50
933
原创 各种排序-C语言描述
各种排序-C语言描述各种排序算法#include <stdio.h>#include <stdlib.h>void insert_sort(int * data,int length);void bubble_sort(int * data,int length);void shell_sort(int * data,int length);void merge_sort(int * data,int length);void quick_sort(int * da
2021-10-17 18:07:31
128
原创 工作中一个简单python数据处理-统计csv文件并画柱状图
工作中一个简单python数据处理工作中需要parsing一些短信数据,会有接口直接将数据导入到csv文件,但是报告时需要统计csv文件中数据频率,所以写了一个python脚本做一些简单处理。流程:1.读取相应文件夹及相应csv文件2.取出csv文件相应列进行统计3.使用pyplot绘制柱状图import osimport csv import matplotlib.pyplot as pltdata_path = 'D:\csv\\'file_list = os.listdir(da
2021-10-16 20:28:13
3999
原创 程序员面试金典-0401-节点间通路
程序员面试金典-0401-节点间通路类似于树的层次遍历算法,需要借助队列将节点插入进去,依次遍历。对应更基本的算法即:广度优先遍历节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。示例1: 输入:n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2 输出:true示例2: 输入:n = 5, graph = [[0, 1], [0, 2], [0, 4], [0, 4], [0,
2021-10-01 20:17:46
531
原创 程序员面试金典-0205-链表求和
程序员面试金典-0205-链表求和一个有意思的错误:假如没有清理上次的flag,会影响下一次操作题目描述:给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。 示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912进阶:思考一下,假设这些数位是正向存放的,又该如何解决呢?示
2021-09-25 20:37:08
158
原创 20210919
typedef struct {} StackOfPlates;StackOfPlates* stackOfPlatesCreate(int cap) {}void stackOfPlatesPush(StackOfPlates* obj, int val) {}int stackOfPlatesPop(StackOfPlates* obj) {}int stackOfPlatesPopAt(StackOfPlates* obj, int index) {}void stackOfPla
2021-09-13 16:23:31
113
原创 Artical--4--并发服务器
Artical–4--并发服务器并发服务器用到了 fork() 和 信号量。测试时可以用之前的客户端代码。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <signal.h>#include <sys/wait.h>#include <arpa/inet.h>#include <sy
2021-09-05 20:51:26
126
原创 log20210912
log202109121 .linux双向链表:2.6.4内核版本,/include/linux/list.h文件中有相关操作
2021-09-05 11:28:13
104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人