![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机原理与操作系统
文章平均质量分 55
Ubuntu Redhat
AI高工
程序员,AI工程师,分享人工智能、机器学习、大模型、软件工程、游戏开发、网络、云计算 (wx号:aigg365)
展开
-
Unity 打包前,通过代码对 AndroidManifest 增删改查
需要在Unity打包前,通过代码自动修改 AndroidManifest.xml 文件的内容,实现自动化一键生成,减少了生成 android studio 工程后再修改的麻烦。为了实现不同Android渠道,采用不同的 AndroidManifest 配置。首先,Unity 提供了打包前和打包后调用的接口(interface)其次,C# 提供了修改 XML 文件的库 System.Xml。最后,为了实现灵活配置,采用了 Json 文件作为配置文件。独立的 Json 文件便于管理,保存在工程特定目录。原创 2024-01-03 16:08:05 · 735 阅读 · 0 评论 -
计算机科学核心知识体系
原文:https://github.com/keithnull/TeachYourselfCS-CN本文档是对TeachYourselfCS内容的中文翻译,原作者为Ozan Onay和Myles Byrne。如需了解翻译相关信息或帮助改进翻译,请参见本文档结尾。This document is a Chinese translation ofTeachYourselfCS, which is written byOzan OnayandMyles Byrne. For more i...原创 2020-06-13 11:53:30 · 5417 阅读 · 0 评论 -
编程入门:Linux C编程一站式学习
http://akaedu.github.io/book/index.html 就Linux下C编程的入门而言,(如果第三部分能补上)这本恐怕是目前最好的了,难得的是:这是国产的,丝毫不逊色于《Beginning Linux Programming》。 1有用远東新君2012-07-25 17:44:47 只要有操作系统,组成原理,数据结构的课程基础,这本书你会对linux内核,c语言的底层实现有更深刻的了解。即使是我们熟知的C语言基础部分也值得一看,它强调的地方大多是我们容易...原创 2021-12-12 15:55:33 · 2286 阅读 · 0 评论 -
C#OverflowException异常
1.前言 某日,在调试程序时,运行到“ntemp = Convert.ToInt32(UpNumber.Text, 16);”这句时突然蹦出一个对话框报告“OverflowException”。抓图如下:2.分析原因 查看UpNumber.Text的值为“11111111111111111111111111”,而Int32的取值范围是[-2147483648, 2147483647],用十六进制表示是[0x80000000,0x7FFFFFFF]而字符串“1111111111111111原创 2021-10-11 16:20:51 · 3480 阅读 · 0 评论 -
手机充电提示“无法充电,请咨询售后”
VIVO Y85,描述说是摔过的机子,充电时提示“无法充电,请咨询售后”。【故障分析】充电异常一般分为:①电压过高电压过低;②温度过高过低;③接触异常等,故障一般发生在外配(电池、尾排、尾插小板)、检测脚通路、充电IC等部分。【维修过程】拿到手机后,首先确认故障,拆机,把所有尾插扁平电缆和小板都安装好测试下,充电故障依旧,更换电池也不行。拆出主板,测量主板电池座子检测脚电压,通常电池座子检测脚在充电是会有1.8V电压,测量也电压正常。拆开主板屏蔽罩,此..原创 2021-10-09 08:07:36 · 12712 阅读 · 4 评论 -
OD逆向一个简单的工程实战
今天闲着没事干,找朋友要了一款简单的登录软件用来写这篇基础入门文章,这篇文章算是最基础的一个逆向工程的实战演示。软件逆向工程(Software Reverse Engineering)又称软件反向工程,是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。通常,人们把对软件进行反向分析的整个过程统称为软件逆向工程,把在这个过程中所采用的技术都统称为..原创 2021-07-09 11:17:59 · 1300 阅读 · 1 评论 -
编程语言的巅峰
“哇塞,怎么可能这么简单!”当C语言老头儿还是小伙子的时候,第一次见到了汇编,发出了这么一声感慨。在C语言看来,这汇编的指令实在是太简单了,简单到了令人发指的地步,只有这么几类指令:数据传输类:就是把数据从一个位置复制到另外一个位置,比如从内存到寄存器,或者从寄存器到内存, 或者从寄存器到寄存器。算术和逻辑运算类:无非就是加减乘除,AND, OR, 左移,右移控制类:比较两个值,跳转到某一个位置。汇编老头儿非常地骄傲, 他经常嚣...转载 2020-12-25 22:42:54 · 153 阅读 · 0 评论 -
面向对象圣经
1第一天上帝看到人类发明了计算机,但一直在用汇编语言艰难地写程序,很是伤心,就把编译器的秘密告诉了约翰·巴科斯,让他带领大家写出了编译器,从此人类可以用高级语言写程序,然后编译成机器语言去运行了。上帝还教会了人类使用顺序、循环、分支这三种基本的程序结构来编写程序。人类很高兴,写的代码越来越长。2第二天但是人类经常写下臭长臭长的代码,然后把代码Copy得到处都是。上帝说:“要有函数!你们可以用函数把长长的代码封装起来,这样就写一次,就可以到处调用了。”...转载 2020-12-25 21:45:47 · 193 阅读 · 0 评论 -
《深入理解计算机系统》
我在b站搬运了相关的视频,感兴趣的小伙伴可以看看卡内基梅隆大学 Introduction to Computer Systems CMU 15-213 Fall卡内基梅隆大学 Introduction to Computer Systems CMU 15-213 2015 Spring华盛顿大学软硬件接口 The Hardware/Software Interface安利一本书:计算机系统基础--NJU袁春风著。去年考研NJU的CS,NJU其中一门专业课的推荐教材就是此书。后...原创 2020-12-11 08:52:31 · 722 阅读 · 0 评论 -
句柄泄露
在linux中一个文件、一个串口、一个socket、一个线程都可以是一个文件,而一个文件会占用一个句柄,linux中一个进程默认的句柄最大数值是1024,当超过这个数值,linux就会对当前的进程进行kill,而kill的对象可以是任意对象,所以会造成各种异常原因的崩溃.使用linux下的lsof命令,列出所有占用的句柄,使用方式如下 1 2 3 4 5 adb shell su lsof...原创 2020-07-30 19:07:54 · 901 阅读 · 0 评论 -
关于堆和栈区别
格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。数据结构的栈和堆首先在数据结构上要知道...原创 2020-07-09 09:35:02 · 270 阅读 · 0 评论 -
《深入理解计算机系统》学习总结 0:概要和目录
本书概要:本书简称CS:APP,是美国很多高校的计算机系统核心课程教材。这是一本职业程序员必须掌握的计算机系统基础导论书。本书从程序员的视角来观察计算机硬件和软件的运行机制。把计算机专业低年级必修专业课计算机组成原理、编译原理、汇编语言、操作系统、体系结构、网络等散布的软硬件知识领域有机的串联了起来。重点讨论了系统的不同结构对于上层应用软件编写、执行和数据存储的影响,培养程序员在更广阔空间应用计算机系统知识的能力。计算机类专业毕业生的三大核心能力:问题抽象、系统抽象、数据抽象。本书负责系统抽原创 2020-07-09 09:17:05 · 447 阅读 · 0 评论 -
《深入理解计算机系统》学习总结第一章:计算机系统漫游
第一章 计算机系统 这章主要是对后面的内容的梳理,简略的谈了一下。但是个人认为我们在接触一本新书的时候看目录来加深自己的宏观把握能力也很重要。另外,本书很重要的一个前提就是——基于Linux系统。本章需要注意一下的知识点如下: 1.关于C语言中的hello world的源文件hello.c: (1)hello.c程序是以字节序列的方式存储在文件中的。像hello.c这样只由ASCII字符构成的文件成为文本文件,所有其他的文件成为二进制文件。 (2)从hello.c到可执行程序文件的过程...原创 2020-07-08 10:04:50 · 324 阅读 · 0 评论 -
认识并行、并发、多线程
对于并发编程, 涉及的技术点非常多, 我们首先需要明确一些基本概念,只有概念清晰,才能做到在以后深入学习关键技术的过程中不致于感觉到吃力和迷惑。 其次,我们还需要明白在并发编程最需要关注的问题是什么? 带着关键问题去学习,才能够起到事办功倍、稳扎稳打的效果。下面是我所总结的一些很多人容易混淆的基本概念:1. 高并发、多线程● 高并发高并发是请求,指的是多个客户端同一时刻向服务端发送请求, 它是一种现象。比如,电商网站在双11凌晨12:00分 同时有2000个下单请求。● 多线程多线程是处原创 2020-07-03 09:44:50 · 753 阅读 · 0 评论 -
网络数据采集分析工具tcpdump定义抓包过滤器
第三节到第六节里的 tcpdump 命令示例,只为了说明参数的使用,并不一定就能抓到包,如果要精准抓到你所需要的包,需要配合第五节的逻辑逻辑运算符进行组合搭配。 不同 Linux 发行版下、不同版本的 tcpdump 可能有小许差异, 本文是基于 CentOS 7.2 的 4.5.1 版本的tcpdump 进行学习的,若在你的环境中无法使用,请参考man tcpdump进行针对性学习。 1. tcpdump 核心参数图解大家都知道,网络上的流量、数据包,非常的多,因此要想抓到我们所...原创 2020-06-30 08:33:31 · 1495 阅读 · 0 评论 -
目录与知识汇总
数学计算机原理与操作系统数据结构与算法设计模式与架构计算机网络云计算和运维Databaseweb前端Unity3DUnrealAI生产工具PMPDevOps与自动化测试C / C++JavaJavaScriptPythonC#读书...原创 2020-06-13 15:15:33 · 371 阅读 · 0 评论 -
RUST语言的编程范式
总是有很多很多人来问我对Rust语言怎么看的问题,在各种地方被at,其实,我不是很想表达我的想法。因为在不同的角度,你会看到不同的东西。编程语言这个东西,老实说很难评价,在学术上来说,Lisp就是很好的语言,然而在工程使用的时候,你会发现Lisp没什么人用,而Javascript或是PHP这样在学术很糟糕设计的语言反而成了主流,你觉得C++很反人类,在我看来,C++有很多不错的设计,而且对于了解编程语言和编译器的和原理非常有帮助。但是C++也很危险,所以,出现在像Java或Go 语言来改善它,Rust本质上原创 2020-06-11 12:17:05 · 1724 阅读 · 0 评论 -
shell命令
使用WIN7 CMD 时出现了“The system cannot write to the specified device”你cmd窗口的编码格式不对,如果我没猜错的话,你cmd窗口的编码是utf-8,或者其他,你试试运行 chcp 936 (这条命令是将cmd的编码改为GBK编码),应该就可以解决问题。附:(1)输入chcp 可以查看cmd的编码(2)常见编码编号:6...原创 2020-03-02 12:14:53 · 338 阅读 · 0 评论 -
VMWare虚拟机网络配置
VMWare虚拟机网络配置Bridged(桥接模式)桥接模式相当于虚拟机和主机在同一个真实网段,VMWare充当一个集线器功能(一根网线连到主机相连的路由器上),所以如果电脑换了内网,静态分配的ip要更改。图如下:NAT(网络地址转换模式)NAT模式和桥接模式一样可以上网,只不过,虚拟机会虚拟出一个内网,主机和虚拟机都在这个虚拟的局域网中。NAT中VMWare相当于交换机(产生...原创 2019-12-24 20:26:14 · 449 阅读 · 0 评论 -
epoll基本原理二: Epoll 比 Select 高效的原因
从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll 高效的原因是什么?网上虽然也有不少讲解 Epoll 的文章,但要么是过于浅显,或者陷入源码解析,很少能有通俗易懂的...原创 2020-01-04 10:10:43 · 486 阅读 · 1 评论 -
epoll基本原理一: Event-poll 异步I/O工作流
其实我一直不习惯poll流的模型,我比较喜欢iocp的模型,虽然理论上来讲poll会给予应用层更多的变化点。打个不太形象的比喻,你让poll或者iocp给你准备三辆车。你给poll说完,poll稍后会告诉你:老爷,车备好了,在车库里,但具体有几辆我也不清楚,您自个去看看。你给iocp三把钥匙,iocp稍后会告诉你:老爷,三辆车准备好了,就停在门外。)首先我们来定义流的概念,一个流可以...原创 2020-01-04 09:42:39 · 421 阅读 · 0 评论 -
开源虚拟隧道创建程序VTun编译及配置详解
2018年08月18日Zavierlinux13030程序简介vtun是一款开源、轻量级的网络虚拟隧道创建程序,VTun可以通过TCP/IP协议为企业在公网上建立安全的VPN隧道。VTun的功能与OpenVPN类似,都是使用了Linux内核中的虚拟网卡TUN/TAP设备,同时它也支持PPP设备,能够提供多种形式的隧道。但是VTun与OpenVPN的区别是:VTun的隧道是一对...转载 2019-09-17 13:25:18 · 2390 阅读 · 1 评论 -
linux下scp报Permission denied错误
vi /etc/ssh/sshd_config把 PermitRootLogin no 改成PermitRootLogin yes重启ssh服务:/etc/init.d/sshd restart注意:两个主机都要修改转载 2019-07-21 10:11:38 · 617 阅读 · 0 评论 -
yum安装时出现:Cannot retrieve metalink for repository: epel. Please verify its path and try again
在CentOS 6.3 x86_64下安装php-mcrypt的时候出现了问题:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again,需要安装epel源。解决方法: 一句话:把/etc/yum.repos.d/epel.repo,文件第3行注释去掉,把第四行注释...转载 2019-07-17 23:16:56 · 193 阅读 · 0 评论 -
开源协议的许可区别LGPL, Mozilla, GPL, BSD, MIT, Apache
转载 2019-01-25 11:11:37 · 212 阅读 · 0 评论 -
ubuntu1804 server 安装
Please choose your preferred language。选择您喜欢的语言这里直接选择【English】Keyboard configuration键盘配置Please select your keyboard layout below,or select "Identify keyboard" to detect your layout automati...原创 2019-12-24 22:03:18 · 2433 阅读 · 0 评论 -
Ubuntu16.04下切换Python版本
查看你所有的python安装路径~$ whereis pythonpython2切换到python3:echo alias python=python3 >> ~/.bashrcsource ~/.bashrcpython3切换到python2:gedit ~/.bashrc# alias python=python3source ~/.bashrc...原创 2019-02-02 16:51:44 · 1886 阅读 · 0 评论 -
ubuntu 安装python3.7
1、安装编译环境sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev li...原创 2019-02-02 16:19:33 · 3310 阅读 · 0 评论 -
vim复制粘贴设置系统剪贴板
ubuntu中安装相关的包。安装成功后,就可以使用系统剪贴板了。sudo apt-get install vim vim-scripts vim-gtk vim-gnome使用如下命令查看:vim --version | grep clipboard得到结果如下图: 注意 clipboard 和 xterm_clipboard 前面的 加号( +) 。加号(+)...原创 2019-02-01 20:36:34 · 1690 阅读 · 0 评论 -
hosts文件
版权声明:Follow your heart and intuition. https://blog.csdn.net/qq_35246620/article/details/669702111 什么是hosts文件? hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系...转载 2018-10-04 19:46:58 · 136 阅读 · 0 评论 -
linux命令英文缩写的含义(方便记忆)
命令缩写:ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径ps: process status(进程状态,类似于windows的任务管理器) 常...转载 2018-09-05 10:38:14 · 213 阅读 · 0 评论 -
通俗易懂的进程与线程解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2. 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义...转载 2018-08-01 09:20:40 · 772 阅读 · 0 评论 -
git命令之git clone用法
2015年02月26日 13:59:11阅读数:81047转:http://blog.csdn.net/wangjia55/article/details/8818845 在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, ...转载 2018-07-31 17:49:55 · 702819 阅读 · 4 评论 -
vim 配置
在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc 在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在Red Hat Linux 中vim的配置文件存放在/etc目录中,配置文件名为vimrcmac/linux中vim永久显示行号、开启语法高亮步骤1: cp /usr/share/vim/vimrc ~/.vimr...转载 2018-07-31 14:25:58 · 2768 阅读 · 0 评论 -
secureCRT设置配色方案
secureCRT,永久设置,保护眼睛,配色方案2016年04月12日 10:54:50阅读数:41883配色后效果如下:下面开始配色1、选项(Options)==》会话选项(Sessions options)==》终端(Terminal)==》仿真(Emulation)按图中标注进行勾选,勾选完毕点击确认2、选项(Options)==》全局选项(Glob...转载 2018-07-31 12:57:02 · 4065 阅读 · 0 评论 -
Ubuntu终端常用的快捷键
Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手。在Ubuntu中打开终端的快捷键是Ctrl+Alt+T。其他的一些常用的快捷键如下:快捷键 功能 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾 Ctrl+k 删除此处至末尾的所有内容 Ctrl+u 删...转载 2018-07-31 11:06:20 · 186 阅读 · 0 评论 -
环境变量PATH
PATH代表的是可执行文件的搜索路径,默认为 Windows 目录(C:\windows)和系统目录(C:\windows\system32),在此两个目录中的文件或文件夹不需要输入完整路径即可通过运行打开。如,在运行中输入 system32:打开 C:\windows\system32 文件夹,输入 notepad:打开 C:\windows\notepad.exe (就是记事本),输入 dll...转载 2019-02-02 22:08:34 · 1496 阅读 · 0 评论 -
ubuntu下载安装TeamViewer
安装先决条件TeamViewer是一个不在任何Ubuntu标准存储库中找到的外部软件。 我们将使用gdebi命令在Ubuntu 18.04 Bionic Beaver Linux上安装TeamViewer。 因此,让我们从安装gdebi-core软件包开始。 打开终端并输入:$ sudo apt install gdebi-core下载最新的TeamViewer软件包接下来,使用wge...转载 2019-02-17 12:04:56 · 730 阅读 · 0 评论 -
Ubuntu环境下python2和python3的切换问题
环境:Ubuntu16.04Ubuntu自带python2,有时候需要使用pytho3。该如何切换呢?使用 update-alternatives操作方法:建立链接:sudo update-alternatives --install /usr/bin/python python /usr/local/lib/python2.7 100sudo update-alter...转载 2019-02-12 20:14:10 · 853 阅读 · 0 评论 -
secureCRT自动log
d:\git\crt-log\%S_crt-session_%Y%M%D.log[%Y%M%D_%h:%m:%s] [%h:%m:%s]原创 2019-09-01 15:40:17 · 270 阅读 · 0 评论