Read Asia Embedded fell
first and foremost,
很久没写了,心痒了,手贱了,于是乎在这一刻心静时,积攒的思绪开始回放了,惊世Copy-on-write之文随之面世了;
臭毛孩子拉的 屎 特臭,小毛孩子前途黯淡,犹如小蝇虫趴在玻璃窗上;
忧患致生,致强;安乐致死,致灭;
Let's go 随心悦动,随心狂放吧,能够超越的,等待去征服的,............;
亲,若你以为ruiy哥的文章东扯,西说的,那就对了,为什么我不会告诉你,大脑在你脑袋上,我无法左右,最多一个人只能为一颗脑袋做主;
哥认为,搞It的天天手操作键盘,请对它温柔些;
动不动不要跑人家座位上问,你在干啥的,搞的啥?我无语了,跟你说很高深,你说在忽悠你,招你鄙视,说没啥,又说是忽悠,你妹啊,我忽悠你;
搞技术的请少讲话亲!
搞It的亲,最重要的还请一定记住下面这句话,不懂的面壁去;
All problems in computer science can be solved by another level of indirection.
多了一层间接必然是为了解决什么问题的?Do you Know? your Selection:No,Please learning!!
干活高效(自我责任意识,拿人钱财,替人消灾嘛,至于拿多少?取决于你?潜意识的感觉那个什么太少,那先请努力的干,用心干...),高质量(取决个人,或是项目组每个成员的自身能量储备)是很有必要去追求的;
做人要像计算机一样,说白了就像玩It的前辈一样,想方设法追求效率;
CPU执行单元要访问内存数据,首先利用VM在cache中找是否有最近访问过的内存数据
需求的指令数据无,则根据eip地址到内存去取aim data,你看人家取当前必要的数据时,也不忘顺便将邻近的几十字节上的指令数据一便弄到Cache中,以便用到时快速获取指令数据;
一级缓存是用VA寻址的,二级缓存是用PA寻址的
内存是通过&地址来访问;
cache是通过va来访问;
CPU寄存器通过CPU单元指令访问;
内存访问,程序指令中的地址是VM,访问内存用的是PA,VM于PA之间的映射由操作系统维护;
内存位于CPU外的芯片,2者直接通过地址总线,数据总线连接;
硬盘位于设备总线,通过设备总线的控制器于CPU交互传送数据;
由驱动程序操作设备总线控制器去访问。由于硬盘的访问速度较慢,操作系统通常一次从硬盘上读几个页面到内存中缓存起来,如果这几个页面后来都被程序访问到了,那么这一次读硬盘的时间就可以分摊(Amortize)给程序的多次访问了;
除了访问寄存器由程序指令直接控制之外,访问其它存储器都不是由指令直接控制的,有些是硬件自动完成的,有些是操作系统配合硬件完成的;
Cache从内存取数据时会预取一个Cache Line缓存起来,操作系统从硬盘读数据时会预读几个页面缓存起来,都是希望这些数据以后会被程序访问到。大多数程序的行为都具有局部性(Locality)的特点:它们会花费大量的时间反复执行一小段代码(例如循环),或者反复访问一个很小的地址范围中的数据(例如访问一个数组)。所以预读缓存的办法是很有效的
与我们是现实有些许的不同啊,请记住,变则通,不变,生活会卡死你;
clean:
@echo "cleanning "
-rm main *.o; 不提示错误信息;
@echo "clean completed"
.PHONY: clean(pseudo aim);
?= 先判断变量是否存在?
:= 遇到Makefile GNUmakefile makefile变量就展开
定义变量值为空格
NullString :=
space := $(NullString) #end of line{注意,一个变量的定义从=后面的第一个非空白字符开始};
:::::
Makefile特殊变量
$@,表示规则中目标;
$<,表示规则中第一个条件;
$?,表示规则中所有比目标新的条件,组成一个列表,以空格分隔;
$^,表示规则中所有条件,组成一个列表,以空格分隔;
无外乎涉及到的就是rule 中的 aim condition new/old?
ulimit -c 1024允许系统Core Dump;
信号相关函数;希望你能够看下函数原型就能够会简单使用,不会的面壁去,这么多年了,干嘛去了,当然哥这措辞话语是针对有经验的It大佬的啊,我这毒舌可不能伤及无辜哈;
#include <signal.h>
int kill(pid_t pid,int signo);
int raise(int signo);
int abort(void);
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
传输层及其以下的机制由内核提供,应用层由用户进程提供;
应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation);
Read Asia Embedded fell的更多相关文章
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- 2013 Asia Regional Changchun C
Little Tiger vs. Deep Monkey Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K ( ...
- Ice-E(Embedded Internet Communications Engine)移植到s3c2440A(arm9)linux(2.6.12)上的
2009-03-26 18:31:31 原文链接 1.前言 ICE-E是ICE在嵌入式上运行的一个版本,与ICE比较如下: Category Ice 3.3.0 Ice-E 1.3.0 Thread ...
- linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本
最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...
- gradle中使用嵌入式(embedded) tomcat, debug 启动
在gradle项目中使用embedded tomcat. 最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动tomcat来部署项目.这种手动工作通常还 ...
- eclipse安装zylin embedded cdt失败解决办法
最近再搞嵌入式开发,之前用惯了IDE调试单片机的那种方式,开发2440和am3358驱动时候无法方便的查看寄存器和变量,憋的抓耳挠腮,不爽得很,没有可视化环境进行实时调试观察,太特么蛋疼了.感觉这种情 ...
- Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目 新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方 ...
- 嵌入式(Embedded)Neo4j数据库访问方法
应用中采用嵌入式Neo4j(Embedded Neo4j)数据库,插入数据后不知道如何访问.查询之后知道有Neoclipse这个可视化工具,最新版本是1.9.5.添加目录后报错: 应该是Neoclip ...
- gitlab 无法查看提交的文件Errno::ENOMEM (Cannot allocate memory - /opt/gitlab/embedded/bin/git):
gitlab可以成功clone和push,但是提交后的文件却无法查看.从页面上看的话只显示出500错误. 查了下gitlab的日志 tail -f /var/log/gitlab/gitlab-rai ...
随机推荐
- RASP 完爆 WAF 的5大理由!
Web 应用防火墙(WAF)已经成为常见 Web 应用普遍采用的安全防护工具,即便如此,WAF 提供的保护方案仍旧存在诸多不足,笔者认为称 WAF 为好的安全监控工具更为恰当.幸运的是,应用安全保护技 ...
- 如何让WIN32应用程序支持MFC类库
参考链接:http://wenku.baidu.com/view/68fc340c79563c1ec5da714b.html
- URAL 1260 Nudnik Photographer(递推)
题目链接 题意 : 给你1到n这n个数,排成一排,然后1放在左边最开始,剩下的数进行排列,要求排列出来的数列必须满足任何两个相邻的数之间的差不能超过2,问你有多少种排列 思路 : 对于dp[n], n ...
- POJ3258River Hopscotch(二分)
http://poj.org/problem?id=3258 题意:有一条很长很直的河距离为L,里边有n块石头,不包括起点和终点的那两块石头,奶牛们会从一个石头跳到另外一个,但因为有的石头隔得太近了, ...
- HDU1353+贪心
注意精度. /* */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<al ...
- Android:为控件绑定监听器
为控件绑定监听器主要分为以下步骤: 1.获取代表控件的对象2.定义一个类,实现监听器接口3.生成监听器对象4.为控件绑定监听器对象 实例:Button按钮----监听器OnClickListener ...
- android 引用 project以及下拉刷新开源类库Android-PullToRefresh 的使用
Android-PullToRefresh 是一个github上的开源下拉刷新类库, GitHub .此外,该作者还有另外一个实用度和关注量极高的项目–另一种Android ActionBar的实现 ...
- Export BOM - BOMPXINQ.EXPLODER_USEREXIT API
--======================================================================== -- Procedure : explode ...
- linux bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C
bash脚本把A和B文件中有相同ID的B文件的内容输出到文件C. Aid文件:ID001.1ID032.1ID090.10 Bfilt文件:XX XX XXX ID001.1 XXX999999999 ...
- 通用权限管理系统Ver2.0
通用权限管理系统Ver2.0平台采用kendo+mvc4+Nhibernate技术实现,底层采用自定义ORM实现数据库底层代码,支持Oracle.SqlServer.mysql等常用数据库,界面采用k ...