
其他
os从业人员
os从业人员,研究方向主要涉及linux操作系统、并行实时系统。个人邮箱wdjjwb@163.com
展开
-
shell 判断
1 shell 的$! ,$?, $$,$@$n $1 the first parameter,$2 the second...$# The number of command-line parameters.$0 The name of current program.$? La转载 2017-06-09 14:29:00 · 210 阅读 · 0 评论 -
ARMV8 用户态DMA cache一致性问题和解决
原因:dma和cpu都有操作内存的能力,dma操作内存不通过cpu和cache,即cpu cache感知不到dma对内存的操作因此cpu和dma合作时,就会存在cpu cache和内存的一致性问题,原因是dma对内存操作无法被cache感知。当然如果给dma的内存是no cache的,cpu不会使用cache,也就不存在相关问题。如果给dma的是带cache内存,那么cpu访问的时候就需要...原创 2019-02-19 15:46:57 · 5197 阅读 · 1 评论 -
枚举变量 enum
不能将非枚举量赋给枚举变量,那么能不能将枚举量赋给非枚举变量呢?如:int a=Monday;这是允许的,因为枚举量是符号常量,这里的赋值编译器会自动把枚举量转换为int类型。另外枚举还有一种少见的用法是 enum { one ,two ,three}; 就是不指定一个名字,这样我们自然也没法去定义一些枚举类型了。此时就相当于static const int one = 0;这样定义三个常量一...转载 2019-01-09 15:16:20 · 634 阅读 · 0 评论 -
c++符号表解析
约在20世纪70年代以前,编译器编译源代码产生目标文件时,符号名与相应的变量和函数的名字是一样的。比如一个汇编源代码里面包含了一个函数foo,那么汇编器将它编译成目标文件以后,foo在目标文件中的相对应的符号名也是foo。当后来UNIX平台和C语言发明时,已经存在了相当多的使用汇编编写的库和目标文件。这样就产生了一个问题,那就是如果一个C程序要使用这些库的话,C语言中不可以使用这些库中定义的函数和...转载 2019-01-10 14:59:43 · 28119 阅读 · 1 评论 -
od 修改windows窗口
https://www.xuebuyuan.com/964461.html?mobile=0转载 2018-08-28 10:56:23 · 1305 阅读 · 0 评论 -
开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别以下是上述协议的简单介绍: BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以B...转载 2018-07-19 11:14:20 · 275 阅读 · 0 评论 -
计算机内存和缓存
http://www.oschina.net/translate/tag/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80转载 2017-09-01 14:55:45 · 466 阅读 · 0 评论 -
使用c语言打印x86寄存器
使用c语言打印x86寄存器void main() { int out = 0; asm ("movl %%ecx, %0\n" : "=r"(out)); printf("ecx is %x\n",out); int seg; asm volatile("movw %%fs,%0" : "=rm" (seg)); printf("fs is %x\n"原创 2017-08-18 11:20:03 · 2270 阅读 · 0 评论 -
内联汇编
在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly。本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^)。 注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区转载 2017-08-16 12:25:26 · 325 阅读 · 0 评论 -
Makefile中的双冒号规则
Makefile中的双冒号规则 (249) (0) 举报 收藏双冒号规则就是使用“::”代替普通规则的“:”得到的规则。当同一个文件作为多个规则的目标时,双冒号规则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个目标指定不同的重建目标的命令)。首先需要明确的是:Makefile中,一个目标可以出现在转载 2017-08-08 10:13:06 · 924 阅读 · 0 评论 -
x86 和 x64 汇编调用C 函数参数传递规则(GCC)
在本文中以一段汇编代码为例介绍一下在x86和x64汇编语言中调用C 函数的过程。样例代码在ubuntu12.04 i386 环境下调试通过。此外本文还介绍了在将这段样例代码移植到X64环境下应该注意的问题。 样例代码的作用是计算两个整数的除法,并通过C语言的printf函数打印计算结果。.section .datadividend: .quad 8335转载 2017-08-01 10:23:57 · 3980 阅读 · 0 评论 -
AT&T汇编伪指令
http://blog.youkuaiyun.com/nancygreen/article/details/14445829可用以下命令查英文版 info as read the "Pseudo Ops" nodeinfo 非常有用的帮助命令。命令格式: info 命令名其信息存放在/usr/shar转载 2017-07-31 15:16:35 · 2022 阅读 · 0 评论 -
fuchsia 编译 报git log unknown date format unix的解决
fuchsia 编译 报git log unknown date format的解决方式: 升级git到最新版本,使用gIt log --help 查看date参数支持unix即可原创 2019-08-05 01:05:51 · 1118 阅读 · 0 评论