- 博客(31)
- 收藏
- 关注
原创 操作系统内存管理机制python常用
引入标记清除(Mark and Sweep)解决循环引用。两个对象互相引用 之后,引用计数无法归零。1还有很多底层引用,所以是2900。引用计数解决不了循环引用的问题。从根对象标记,不可达的点置灰。
2023-07-20 13:20:22
124
原创 Linux常用命令
常见文件操作工具 chwon/chmod/chgrp ls/rm/cd/cp/mv/touch/rename/ln(软连接:指向绝对路径/硬连接)等 locate/find/grep定位查找和搜索 find . -name '*.pyc' -delete 文件或者日志查看工具 编辑器vi/nano cat/head/tail查看文件 more/less交互式查看文件 掌握常见的进程操作工具 ps查看进程 kill杀死进程 kill使用原理 top/htop监控进程
2023-07-18 13:48:15
113
原创 python范式编程考察点
classmethod是为了使用类变量,staticmetho是代码组织的需要,完全可以放到类之外。staticmethod使用起来和普通函数一样,只不过放在类里去组织。classmethod第一个参数是cls,可以引用类变量。classmethod/staticmethod区别。都可以通过Class.method()方式使用。元类允许我们控制类的生成,比如修改类的属性等。元类最常见的一个使用场景就是ORM框架。Meta Class是创建类的类。使用type来定义元类。
2023-07-17 13:08:43
74
原创 python生成器与协程
可以通过coroutine.send(value)来给协程发送值,发送的值会赋值给yield表达式左边的变量value=yeild。协程需要使用send(None)或者next(coroutine)来预激(prime)才能启动。协程执行完成后(没有遇到下一个yield语句)会抛出StopIteration异常。通知支持send()向生成器发送数据和throw()向生成器抛异常。python3之前没有原生协程,只有基于生成器的协程。生成器可以通过yield暂停执行和产出数据。在yield处协程会暂停执行。
2023-07-17 08:52:25
115
原创 python面试总结
monkey.patch_socket()用阻塞的socket替换成非阻塞的。比如file,StringIO,socket对象都支持read/write方法(file like object)新增的内置库,enum,mock,asyncio,ipaddress,concurrent.futures等等。一切返回迭代器range,zip,map,dict,values,etc.are all iterators。不可变对象bool/int/float/tuple/str/frozenset。
2023-07-16 18:27:00
101
原创 C和汇编的混合编程
嵌入式系统分层 操作系统的作用:向下管理硬件、向上提供接口(API) 操作系统(Linux): APP Kernel Hardware 汇编分为六大类 数据(通用指令) 跳转(通用指令) 内存访问(通用指令) 状态寄存器传送指令,读写CPSR(非通用指令arm有,c语言没有对应语句) 软中断指令SWI(非通用指令arm所特有,在c语言没有对应语句) 协处理器指令(非通用指令,arm所特有,在c语言没有对应语句,c语言是通用语言,可以在arm运行,可以
2023-05-25 19:38:29
136
原创 arm汇编指令集
arm指令集概述 .c文件里面包含 语句a++; 注释// 预编译指令(条件编译)#if 1. .... #else .... #endif 汇编: 汇编中的符号 指令:能够编译生成一条32bit机器码,并且能被cpu识别和执行 数据处理指令:进行数学运算、逻辑运算、 跳转指令:实现程序的跳转,本质就是修改了PC寄存器 Load/Store指令:访问(读写)内存 状态寄存器传送指令:用于访问(读写)CPSR寄存器 软中断指
2023-05-09 21:06:20
506
原创 实现UDP通信
socket接口函数扩展 write/read到send/recv 函数原型 ssize_t send(int sockfd,const void *buf, size_len,int flags); ssize_recv(int sockfd,void *buf, size_t len,int flags); 前三个参数同read/write一样 ssize_t read(int fd,void *buf, size_t count); ssize_t wr
2023-04-14 08:33:07
121
原创 TCP服务器的实现
socket函数和通信域 #include<sys/types.h> #include<sys/socket.h> int socket(int domain,int type, int protocol); domain指定通信域(通信地址族) type:指定套接字类型 tcp唯一对应流式套接字,所以选择SOCK_STREAM(数据报套接字:SOCK_DGRAM) protocol:指定协议 流式套接字唯一对应TCP,所
2023-04-14 08:18:38
116
原创 socket套接字以及tcp的实现框架
*创建套接字*//*绑定通信结构体*//*监听套接字*//*处理客户端发起的连接,生成新的套接字*//*向服务器发起连接请求*/三元组【IP地址,端口,协议】ip地址:标识计算机端口号:标识计算机当中的进程协议:指定数据传输的方式地址族结构体//通用地址族结构体AF_UNIX 使用本地域套接字的地址结构,用于本地通信AF_INET 使用IPv4的通信地址结构AF_INET6 使用IPv6的通信地址结构。
2023-04-12 21:37:44
138
原创 进程间通信机制介绍
如果open调用是非阻塞的(即第二个参数为O_WRONLY | O_NONBLOCK),open总会立即返回,但如果没有其他进程以只读方式打开同一个FIFO文件,open调用将返回-1,并且FIFO也不会被打开。在一般的UNIX中,通常是将文件的索引节点取出,然后在前面加上子序号就得到key_t的值system。第二个参数中的选项O_NONBLOCK,选项O_NONBLOCK表示非阻塞,加上这个选项后,表示open调用是非阻塞的,如果没有这个选项,则表示open调用是阻塞的。将一个信号添加到集合中。
2023-04-07 13:02:00
106
转载 python的内置变量,单下划线变量, 双下划线变量
一:变量前后加双下划线在python中,所有内置变量都以“前带两个下划线,后带两个下划线”的方式命名。__name__是Python的只读内置变量。在模块中访问该变量时,其随着模块的被调用方式的不同而有不同的值:当该模块被直接执行调用时,__name__的值为__main__;当该模块被其他模块用import语句调用时,该值为当前模块名。另一个常用的内置变量是__class__,在类内...
2019-12-31 23:05:14
556
原创 Python数值对象的构造函数和内建函数
一,数值对象的构造函数(创建函数)1,float(obj):把字符串或者数字转换为浮点数,如果不给出参数,则返回0.02,int(obj, base=10):把字符串或者数字转换成证整数,如果不给出参数,则返回0,base是进制,最高为36进制3,complex(r=0.0,i=0.0):用数字创建一个复数,实部r,虚部i,只有一个参数的话是实部4,bool(obj):用obj...
2019-12-31 22:37:17
242
原创 mac系统python2.7环境安装pymssql的遇到的错误
用终端安装pymssql没有成功,查询网络上的解决办法:1. brew unlink freetds(brew list查看自己电脑是否有freetds,如果没有不需要执行此命令)2. brew install freetds@0.91(不是必须安装此版本,安装适合自己电脑的freetds版本即可)3. brew link –force freetds@0.91(安装后默认是...
2019-12-18 11:01:00
832
原创 python实现简单查找,二分查找,插值查找
# -*- coding: utf-8 -*-def main(): # 二分查找 a = [1, 3, 9, 34, 56, 78] b = binary_search_1(56, a, 0, len(a) - 1) print b# 顺序查找# 时间复杂度O(n)def sequence_search(num, a): for _index...
2019-12-17 08:33:45
235
原创 python基础(数据类型,特性,操作符,运行)
1,python的运行: 解释器类型 CPython(c语言开发) Jpython(Java语言开发) IronPython(.net开发) 运行方式 交互方式 命令行方式2,python的特性: 解释性语言 不需要开发者进行编译,在运行程序时才被翻译成机...
2019-09-24 08:46:59
661
2
高质量C++/C编程指南.pdf
2023-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人