![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
computer_science
在路上@Amos
这个作者很懒,什么都没留下…
展开
-
Linux C++与Python混合编程(g++生成链接库与python调用)
gcc/g++ 链接库的编译与链接这一篇对动态链接库和静态链接库以及编译结果讲得很清楚,目前看到最好的。原创 2021-02-25 12:45:08 · 474 阅读 · 0 评论 -
操作系统与内核
操作系统与操作系统内核 看完之后理解更加清晰明了从计算机CPU(处理器)来看,操作系统实际上不过是一组计算机程序内核程序一直占据内存中的一段内存,这样处理器可以随时调用这些内核程序;总的说来,一个操作系统包含了内核(是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件)以及其他计算机系统所必须的组件(如函数库、编译器、调式工具、文本编辑器、网站服务器,以及一个Unix的使用者接口(Unix shell)等,这些都是操作系统的一部分,而且每一个模块如编译器都是一个单...原创 2021-02-02 14:19:24 · 244 阅读 · 0 评论 -
BootLoader与MCU启动过程
ARM之Cortex M3的启动过程目前,多数MCU厂商都提供一个启动文件。当然,编程者也可以自己编写启动文件,具体编写要求ARM的网站上都有相关文档进行说明。下面分析一下STM32启动文件startup_stm32f407xx.sSTM32(一)之启动文件简介本文以STM32F103为例,介绍STM32的启动文件。 一般而言,系统上电后第一个执行的是由汇编所编写的启动文件,其主要工作为一下五部分: (1)、初始化堆栈指针SP=_initial_sp...原创 2020-11-19 14:18:13 · 1614 阅读 · 0 评论 -
CPU工作过程——MCU
玩转STM32(11)CPU的心跳历程 前面说CPU怎么样才有脉搏,也就是给CPU装了一个心脏,这样这个由泥沙组成的CPU才能开始拥有像生命的力量了。在前文后面,提到了使用25MHz晶振作为外部的频率来源,但是我们的目标是让CPU工作在168MHz的频率,这样才可以让CPU工作得更快,运行代码更快,效率更高。当然,如果你想让CPU工作在25MHz也是可以的,只是有点不值得,用这么贵的硬件,运行这么低的频率。要想快,就得提高CPU运行的频率,那么怎么样才可以把25MHz的频率转换为168MHz的...原创 2020-11-10 15:35:07 · 599 阅读 · 0 评论 -
机器人~计算机
清华大学赵明国教授评测Jetson AGX Xavier性能原创 2020-04-22 14:40:22 · 204 阅读 · 0 评论 -
OSI七层模型
巧妙记忆Http七层模型在面试中经常遇到这么一个问题,就是你熟悉OSI七层模型嘛,来谈一谈。我是经常遇到过这个问题。并且经常记不住完整的7层,即使花时间背诵下来了,时间一长又忘掉啦。前几天看到网上别人巧妙记忆的方法,感觉不错,只需要记住一句话就可以。All people seem to need data processing好了,这7个单词我们可以根据首字母记住对应的7层名称。...原创 2020-04-03 15:18:15 · 221 阅读 · 0 评论 -
CPU执行指令过程与python
说说Python程序的执行过程解释型语言和编译型语言计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语...原创 2020-01-13 13:39:23 · 475 阅读 · 0 评论 -
电脑IP地址
果然,培训班里技术讲得比较明白。老师讲课幽默风趣,自己也会愿意学知识。现在几乎还全部是IPV4,现在IPV6还没发展起来因为要重新建设备线路之类的代价太大我们现在所说的IP地址,如果不特别说明,默认都是IPV404-ip地址的分类-ipv4和ipv6介绍我们最常用的地址都是C类地址,前三位标识网络地址,第四位标识主机地址...原创 2019-09-25 16:35:43 · 257 阅读 · 0 评论 -
图解实时操作系统和非实时操作系统的区别
对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少?实时操作系统:uCOS/VxWorks/RTLinux非实时操作系统:Linux/Windows/OSX我也只能列举出来这么多了。重点不在这里,重点在于他们之间的区别,详见下图:在上面的图中右边的任务优先级高于左边的任务,先看实时操作系统的,当优先级更高的任务2就绪的时候,即便任务1正在运行中,也必须立刻交出C...原创 2019-09-07 11:04:55 · 950 阅读 · 0 评论 -
【使用CMake组织C++工程】2:CMake 常用命令和变量
前言前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量。对于涉及到的命令和变量,介绍的原则是点到即止,先仅需掌握基本用法即可,让工程跑起来。上一篇文章中那个最简单的CMake Hello World工程,在其CMake脚本文件CMakeLists.txt中,仅有一句话:...转载 2019-06-01 19:03:57 · 178 阅读 · 0 评论 -
攻克指针(一)
不理解指针,很大程度上是因为不懂数据结构,不理解内存怪不得之前学长说,你要是看过数据结构那本书,就知道指针有多牛逼了 //==============内存1 byte (B) = 8 bits (b) 字节=8个二进制位 Byte-------By---------8----------8bit-----------------根据读音记位:“位(bit)”是电子计算机中最...原创 2018-10-06 16:19:13 · 184 阅读 · 0 评论 -
Computer_Science精华资料
//==========C语言点拨到位知乎专栏:C语言编程答疑原创 2018-10-06 18:45:21 · 132 阅读 · 0 评论 -
攻克指针(三)~自我总结篇
//==============两己三他参考:攻克指针(二)精华篇//==============星号*有两种用法(1)定义指针变量时,在变量前加*代表这是一个指针变量(2)在程序执行语句中,*运算符表示取他值int main(){ int *p; //定义p是一个指针变量 p = malloc(sizeof(int)); *p = 1...原创 2018-10-06 18:53:52 · 174 阅读 · 0 评论 -
ubuntu-make/makefile/cmake
自己手写CMakeLists.txt。写完CMakeLists.txt执行两步1.cmake //使用cmake指令,根据CMakeLists.txt生成makefile;2.make //使用make指令,根据makefile进行批量编译。 cmake 指向CMakeLists.txt所在的目录,例如cmake .. 表示CMakeLists.txt...原创 2019-01-30 13:11:42 · 397 阅读 · 0 评论 -
Linux 进入绝对路径最后一个目录加不加正斜杠有什么区别
Linux 进入绝对路径最后一个目录加不加正斜杠有什么区别?例如cd /user 跟cd /user/ 没有区别。文件夹名后面加“/”,主要是为了区别于其他标准文件,尤其是在相对路径下。举一个例子:当我们使用 ls 时,会显示 user,而 使用 ls -F 时,会显示user/参考:...原创 2019-02-27 10:27:15 · 10295 阅读 · 0 评论 -
C语言位运算
单片机里面对8进制数的位操作还是很有用的。注意:(1)<<左移右移操作符的优先级仅次于加减法运算。(2)按位或是一道杠 | ,用来把一个8位数左移操作变高8位后,和另一个8位数(作低八位)按位或,得到16位数。...原创 2019-03-31 11:05:34 · 115 阅读 · 0 评论 -
C++
//============之前的函数入口参数的迷惑,得以解答 void changeAge(int age,int newage) //传值void changeAge(int *age,int newage) //传址void swap(int &x,int &y) //传引用 对传址的理解:己值为他址,传的是地址void ch...原创 2018-10-05 21:33:56 · 137 阅读 · 0 评论