- 博客(19)
- 资源 (604)
- 收藏
- 关注
转载 compile linux0.01 on debin9
前言原版的linux0.01在主流linux上是编译不过的,尝试在debian9上编译linux0.01.现在只是编译成功(将警告和错误都去掉了,编译过程很干净),单步学习的时候,哪里不对,再改改。工程下载点稍后上传。编译环境debian9.6 + as86 + ls86 + gcc6.3编译成功的过程快照root@debian9:/home/lostspeed/disk_work...
2019-02-24 22:57:35 366
转载 as86 - 向被编译的源文件.s中加入一个动态的宏
前言有一个a.s文件要用as86编译。a.s中用到了一个宏M, 这个宏要依赖系统某个文件的大小来计算, 规约到16的模.作者思路特别巧,先用bash命令,将文件的size拿到,将M计算并拼装好,将内容M的定义写到新的实现b.s中,然后将a.s拼装到b.s后面,再编译b.s, 这时的效果,就达到了使宏M成为动态宏。做了一个实验来模拟作者实现动态宏的思路.实验# @file D:\my_s...
2019-02-24 14:41:23 395
转载 as86 - 能编译过的最小实现
前言as86的语法和as不一样,而且这东西没文档. 去看了as86的源码,也没有看到有测试用例. 那什么样的.s 才能编译通过? 一个开源的东西,居然没文档,真奇怪。看到dev86里面有个测试用例,在这个基础上试试as86的语法.先整一个最小实现的.s,先用as86 + ld86能编译过再说。然后在加as86汇编语句,边写边实验,就知道as86语法是啥样的了。编译完之后, objdump...
2019-02-22 11:54:33 433
转载 gas - AT&T的汇编例子
前言编译linux-0.01中的head.s, 编译报错。今天看看书,熟悉一下AT&T语法。写了个例子,用as + ld可以编译运行。用as86 + ld86编译报错。看来as86 + ld86的AT&T语法和as + ld还是不一样。稍后再研究。实验# @file D:\ls\study\linux_prj\old_linux\src\AT&T_asm\asm...
2019-02-21 18:05:32 307
转载 gcc - 分析程序瓶颈
前言gcc + gprof 可以测量出程序中最耗时的函数实现,后续可以对耗时的函数进行分析和优化。实验测试程序得整几个函数,平铺得代码看不出效果// @file test.c// @brief test gen flat binary file by gcc#include <stdlib.h>#include <stdio.h>#include <...
2019-02-21 16:18:16 401
转载 gcc - 将C程序转成AT&T汇编程序
前言如果手写AT&T汇编程序时,有语法问题,不用去翻书。先将自己关心的功能,用C实现一下,然后用gcc -S的功能,将C翻译成AT&T汇编。然后就知道AT&T语法该怎么写了。实验测试用源程序lostspeed@debian8:/home/dev/old_linux/gcc_flat_binary$ ls -al总用量 12drwxr-xr-x 2 losts...
2019-02-21 15:41:34 814
转载 gcc - 查看预处理(宏展开)之后的实际代码
前言有些使用模板或复杂宏的程序,如果想知道最终的预处理代码是啥。最好的方法就是用编译器的预处理命令,先将实现文件进行预处理,另存成实现文件,先看看。在看AT&T汇编的书时,讲了用gcc怎样看预处理文件,很实用。实验测试用的源码lostspeed@debian8:/home/dev/old_linux/gcc_flat_binary$ cat ./test.c// @file t...
2019-02-21 15:25:39 7152
转载 asm - intel语法和AT&T语法的区别
前言linux0.01的.s在debian9的as86上编译不过.找本书,系统看看AT&T汇编程序的语法。看到书上讲到了intel语法和AT&T语法的区别,区别不是很大, 一共有5个区别。实验AT&T的立即数前面有修饰符号$. e.g. $4Intel的立即数不需要修饰 e.g. 4AT&T寄存器名称前有修饰符号% e.g. movl $4, ...
2019-02-21 14:49:42 679
转载 get pure flat binary dasm code after gcc -c
前言gcc编译完一个.c后,.o中是带其他信息的。如果只想将反汇编代码的字节码抠出来,在网上找到一个好用的方法。实验测试程序// @file test.c// @brief test gen flat binary file by gcc#include <stdlib.h>#include <stdio.h>#include <string.h&...
2019-02-21 12:10:29 195
转载 linux0.12 as86程序的调试
前言记录一次as86程序的调试过程.照着书上的例子码boot.s,用as86 + ld86 + dd编译完,写成硬盘镜像,可以在bochs中正常运行,但是写入U盘后,在联想G480上不好使,直接进主操作系统winxp了. 但是在win10台式机上好使。用nasm写的boot片段在G480上运行是正常的,在win10台式机上也好使。比对了nasm_bin和as86_bin, 发现生成的汇编代码...
2019-02-20 11:14:51 686
转载 linux-0.12 编译.s的步骤
前言现在闲下来,开始学linux0.12.给自己定的学习目标是:实验在真机+U盘上可以运行, 这样才有满足感:)看其他同学,包括书上,都是在bochs下做实验。这样不能在真机上跑的实验,意义不大。以前有段时间特别的闲, 玩过一个月的nasm, 写的bootloader在bochs和真机(插入载有bootloader的U盘)上都能跑。照着书上最初的boot.s, 编译出来的bin, 写入镜...
2019-02-19 01:37:05 788
转载 用debugview看服务中打出的OutputDebugString
前言以前用debugview看当前桌面环境中运行的程序打出的OutputDebugString日志是可以的。但是从来没看过服务中打出的OutputDebugString日志。给同事做了一个发msmc的demo, 他不用了。说可以用debugview来看服务中打出的日志。学一招。实验以管理员身份启动debugview(SysinternalsSuite包中的Dbgview.exe).在...
2019-02-18 12:48:33 866
转载 build bochs-2.6.9-msvc-src on vs2017
前言继续做linux0.12的实验,看资料时,有个同学遇到bochs载入hd_image时,遇到错误提示,直接去看的bochs源码。这主意不错。我也编译一个bochs源码,用到的时候,也可以单步一下。查资料的时候,也看到有的同学说,必须在某个bochs版本下才能实验成功。去看了bochs的历史纪录,功能都是升级和添加来的,并没有将哪个功能去掉的事情。不同的是,命令行参数有改名或新增了命令...
2019-02-17 14:50:15 318
转载 stl - terminate called after throwing an instance of 'std::length_error'
前言别人的一个demo崩掉了,崩溃的报错如下 terminate called after throwing an instance of 'std::length_error' what(): basic_string::append 已放弃从报错提示看,错误发生在使用std::string::append()没去看demo, 只是想找一下, 如何错误的使用std:...
2019-02-15 16:59:40 10076
转载 win - send ms mc
前言看到codeproject上有个大神2003年写了个demo, 用来发送系统消息日志.发送后,用事件查看器可以看到发送的不同种类和内容的消息。用ms mc可以代替文件日志, 日志的管理更规范。也有不好的地方,自己的资源DLL只能是一个。如果他人也要在同一用户环境下发ms mc, 就打架了,坑不够,只有一个ms mc纯资源DLL可用。看原始demo时,对.mc文件如何包含进工程,如何编...
2019-02-14 17:37:58 215
原创 add self log ini config class for chromium
学习chromium的过程中,加了一些日志.在尝试做一个模块,功能代码都加完了,调试过了,等测试时发现,开始任务后,要30秒~60秒,任务才开始。尝试解决这个bug.思路: 这个任务从web-ui到socket到返回web-ui的调用链都清楚,只要测量一下每个控制点之间的耗时就知道问题在哪。解决问题之前,先看看日志,如果日志不够,再加一些。因为日志太大了,不好看。先清空一下,然后再跑测试。居然日志清空后,任务开始的飞快。哦,明白了,是写日志引起的延迟。
2019-02-13 16:47:10 247
转载 bochs - bximage
前言想将U盘镜像用winhex复制成文件后,供bochs使用。在指定.bxrc时,填写的cylinders, heads, spt是用DiskGenius看到的参数,bochs却提示磁盘容量和参数不匹配。看了pediy上一同学的文章,发现最简单的解决方法是,建立一个比实际U盘稍大的bochs镜像。将winhex复制出来的U盘镜像替换到bochs镜像的0字节位置。等在bochs中调试妥当后,再...
2019-02-11 15:33:31 1116
转载 WinPing modify
前言家里的计算机,都设置成了可以回应ping.如果服务器开机后,我忘了她的ip, 虽然可以通过其他方法(好几种方法呢)得到正在运行的局域网内的ip. 但是我不想那么麻烦。想模拟手工循环ping本网段内的计算机,来确定到底哪台计算机回应了ping.在codeproject看到一个工程WinPing. 用了2个小时修改了一下。作为循环ping同网段内计算机的小工具。原始实现中,有个小bug, ...
2019-02-09 21:45:18 246
转载 win - list arp table
前言同一个网段的服务器开机后,我想不起服务器具体的ip了。用wireshark看包,将抓包规则设置为arp, 是能发现那台服务器ip的。想写个测试程序,列出arp表,如果那台服务器在arp表中,那不就方便了。做完实验发现,如果本机没有和服务器交互(e.g. ping 服务器),列出的arp表中,没有那个服务器的ip信息。这个实验白做了,以后有可能做别的用场吧。实验从codeprojec...
2019-02-09 16:04:45 308
pcasm-book-simplified-chinese.zip
2014-05-09
Advanced-Windows-Debugging-sources-awd.zip
2014-04-28
TrueCrypt 7.1a Source.zip
2013-11-01
filedisk-17-org.zip
2013-10-31
Sysinternals_Source.zip
2013-09-16
vs2010_Sample_C_plus_plus.zip
2013-08-08
DebugViewV4_81.zip
2013-03-13
srcSpyxx.zip
2012-09-30
ProcessExplorer
2011-11-05
cppunit-1.12.1.tar.gz
2011-08-30
STLport-5.2.1.tar.bz2
2011-08-20
工程目录结构模板设计_2011_0309_2054
2011-03-10
ResourceHack
2010-11-26
NTFS文件系统扇区存储探秘_电子书和随书光盘.7z
2019-03-18
Linux C程序设计王者归来_book_cd.7z.004
2018-08-22
Linux C程序设计王者归来_book_cd.7z.003
2018-08-22
Linux C程序设计王者归来_book_cd.7z.002
2018-08-21
Linux C程序设计王者归来_book_cd.7z.001
2018-08-21
eclipse-java-mars-2-win32-x86_64.zip
2017-04-21
International standard ISO/IEC C++98
2015-12-25
book code C语言名题精选百则
2015-12-16
depends22_x64.zip
2015-07-26
C++_Templates_The_Complete_Guide_book_code.zip
2015-06-14
quicktimesdk 7.3.0.70 for windows
2015-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人