自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (19)
  • 收藏
  • 关注

原创 移除、混淆静态库中多余的符号(待续)

2.当原始库需要被删除的符号是内部调用的符号(例如source1.c 中调用了source2.c的函数),不管是不是hidden,此符号都处于relocation,无法被strip移除,只能--redefine-sym --rename-section一个个修改混淆。即便如此,该符号的地址依然存在,objdump nm都可以看到。生成库的时候,只想暴露接口符号给调用者,其他的符号需要删除,怎么办?2.依然不会删除内部调用的符号。

2023-12-07 20:52:10 100

原创 磁盘检测工具,根据lba查找对应文件

注意: lba以硬盘起始为偏移,如果有多个盘符,则需要该减去该偏移前所有盘符的扇区数量,例如lba为2757798225,而该硬盘有c d e三个盘符,且c d扇区数量和为2754456895,因为2757798225 > 2754456895,则计算为(2757798225 - 2754456895) / (4096 / 512) = 417666.25,该lba对应盘符e。3.x = LBA 数值 / (每个簇字节数 / 每扇区字节数)Q: 磁盘检测工具,如何根据损坏的lba查找对应的问题?

2023-09-24 17:48:28 255

原创 git代理总结

1.对于http协议设置代理git config --global http.proxy http://127.0.0.1:8087git config --global http.proxy socks5://127.0.0.1:1080git config --global http.proxy socks5h://127.0.0.1:1080取消代理git config --global --unset http.proxy如果仅仅想为github设置代理,可以这样:git conf

2021-01-31 14:24:52 249

转载 RDP远程运行程序,修改rdp文件

"alternate shell" doesn't seem to work anymore in recent versions of Windows, RemoteApp is the way to go.remoteapplicationmode:i:1remoteapplicationname:s:Purpose of the app shown to user...remoteapplicationprogram:s:C:\...\some.exeremoteapplicatio...

2020-11-24 10:35:15 1483

原创 win7清除占用的端口号

https://superuser.com/questions/408976/how-do-i-clean-up-com-ports-in-use方法1.使用Device Remover https://www.majorgeeks.com/files/details/device_remover_543c.html方法2.Run Device Manager from elevated command line:> set DEVMGR_SHOW_NONPRESENT...

2020-09-09 14:24:47 353

原创 2019年,禁止firefox新老版本强制校验扩展签名

Disable add-on signing check in Release (all) versions of FirefoxFirefox version 65+ (or so)The following instructions will disable signature checking on Firefox for the Firefox profile in which y...

2019-08-27 23:26:29 1380

原创 nvidia开启gpu增强

https://forums.geforce.com/default/topic/1015610/geforce-drivers/gpu-boost-feature-in-nvidia-control-panell-/1/You should patch file C:\Program Files\NVIDIA Corporation\Display\nvgames.dllUsing an...

2019-06-02 18:40:19 2229

转载 How to Reset TeamViewer ID

After installing TeamViewer and first connection to the network, program receives a unique identification number (ID). It allows you to perform a remote connection to your computer. If you are using a...

2018-10-19 14:12:39 2276

原创 使用autohotkey映射按键统一交互

如果你特别烦躁vim、emacs、bash、IDE、编辑器、浏览器按键不统一带来的麻烦,可以试试autohotkey。目前唯一缺点各种远程控制可能会失效脚本功能:alt+j -> leftalt+shift+j -> shift+leftalt+ctrl+shift+j -> ctrl+shift+leftalt+8 -> pgupalt+shift...

2018-06-25 16:42:53 5615

原创 eclipse oxygen 同时浏览c java代码

1.安装cdt jdt plugin2.安装Project Natures plugin3.file-> import project from folder or achieve4.project -> property -> project natures ,添加c native java 等5.file -> new c/c++ project6.设置classpat...

2018-03-26 14:49:24 249

原创 查看进程加载的so

AIX可以使用procldd命令查看。例如:# procldd 12345 Solaris可以使用pldd命令查看。例如:# pldd 12345 Linux楼上已经提到lsof了。另外一个方法是查看 /proc/PID/maps 文件。例如:# cat /proc/12345/maps | awk '{print $6}' | grep '\.so' | so

2017-11-14 16:41:51 10590 1

原创 adb client远程连接adb server

adb版本需一致ssh设置好隧道 remote:8888->local:8888serveradb -a -P 8888 start-serverclientadb -P 8888 shell

2017-09-12 13:35:54 2837

原创 securecrt 8之后版本, new host key 取消显示

As noted in the history text, this is not considered a security best practice.Yes, see SecureCRT's version 8.0.x History file here (https://www.vandyke.com/products/securecrt/history.txt).SS

2017-06-29 09:58:32 3329

原创 firefox非量子版自定义搜索引擎

1.add to search bar https://addons.mozilla.org/zh-cn/firefox/addon/add-to-search-bar/2.老版本可以修改omni.ja\chrome\zh-CN\locale\browser\searchplugins3.A (less elegant) solution t

2017-06-21 15:33:32 19275

原创 ctags指定文件

find . -name "*.h" -o -name "*.asm" -o -name "*.c"  | ctags -f .tags --c-kinds=+l -L -

2017-06-13 17:17:23 1432

原创 git push review

[core]        repositoryformatversion = 0        filemode = false        bare = false        logallrefupdates = true        symlinks = false        ignorecase = true        hideDotFiles

2017-04-28 13:26:09 1767 1

原创 tiny4412sdk 1506学习笔记1

1.uboot烧写sdmake tiny4412_configmake -j4make -C ./sd_fuse/        echo "sudo dd if=/dev/zero of=/dev/sdc bs=1024 count=102400"        sudo dd if=/dev/zero of=/dev/sdc bs=1024 count=102400

2016-06-25 22:48:07 1108

原创 fcitx候选词竖排

两个地方设置1.单击通知栏 Fcitx配置 -> 附加组件 -> 经典界面 -> 配置 -> 竖排候选词列表2.单击通知栏 配置面板和皮肤 竖向显示

2016-05-02 11:43:27 1067

原创 用eclipse浏览linux内核

原链接 https://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_sourceHowTo use the CDT to navigate Linux kernel sourceHere are some steps that I've found to get the CDT to work

2015-11-18 12:23:28 587

原创 自己的makefile,可编译目录下所有C

CC_PRE =#CC_PRE = arm-none-linux-gnueabi-CC = $(CC_PRE)gccSTRIP = $(CC_PRE)stripINCLUDE =LIBS =CCFLAGS = -g -std=gnu99 -Wall -O3#LDFLAGS = -lconfigLDFLAGS =SRCS_PATH = ./SRCS =

2015-01-28 17:06:21 375

原创 linux中用wine加载使用TortoiseSVN

在~/.bashrc加入以下:function tort {             wine "C:\\Program Files\\TortoiseSVN\\bin\\TortoiseProc.exe" "/command:${1}" "/path:${2}";}export -f tort 之后打开终端使用:tort 命令 路径例如to

2014-12-23 17:08:49 1276

原创 OK6410 linux3.0.1 外部中断组1~9无法request_irq的解决方法

因项目需求远程遥控,准备在OK6410上使用红外线控制板子。由于板子上自带的红外所接引脚GPE1几乎等同于摆设,故需要外加红外头。在写驱动的时候发现中断组1~9无法request_irq成功,咨询官方技术支持和论坛没有任何答复,只好自己改内核了。仔细看源码,飞凌居然没初始化19组的中断,我和我的小伙伴都惊呆了以下代码加入到manage.c中static inline void

2013-07-30 14:51:26 1195

arm thumb2指令集快速参考卡 中文版

arm thumb2指令集快速参考卡 中文版 ARM and Thumb2 Instruction Set Quick Reference Card中文版

2024-03-15

IrOBEX v1.5,红外蓝牙都用到的协议

IrOBEX v1.5,红外蓝牙都用到的协议

2023-04-18

低功耗蓝牙开发权威指南 中文版 带书签

低功耗蓝牙开发权威指南 中文版 带书签

2016-06-13

雅黑+MONO 完美字体

比网上yahei_mono yahei consola 效果好 原帖地址 http://bbs.themex.net/showthread.php?t=16872539

2016-05-25

windows下可编译linux 用insight+bochs源码级调试

编译过程: 1). 解压后默认的文件夹位置是在D:\Linux-0.11,如果你不是将文件解压到该目录下, 你要修改MinGW32目录下的MinGW32.bat文件,将里面的PATH指向MinGW32的bin目录. 2). 打开Linux-0.11目录,双击MinGW32.bat快捷方式,打开控制台. 3). make 一下,生成1.44M的Boot.img软盘镜像,要清除编译结果请"make clean" 4). 如果安装了bochs,直接双击bochsrc.bxrc即可运行Linux-0.11了. 5). 也可用其它虚拟机加载Boot.img后运行,如果出现Kernel panic,请把虚拟机里的硬盘删了 6). 在出现Insert root floppy and press ENTER以后,将rootimage-0.11.img载入虚拟软驱,回车 这就是能在windows环境下编译的Linux 0.11了,不是在Cygwin,也不是在虚拟机里,而是使用MinGW. 下面是在Windows下编译Linux 0.11会遇到的问题和对原文件作的修改: 1.赵炯博士已经将汇编程序中引用的C变量(包括嵌入汇编的C变量)的下划线去掉了,但MinGW的gcc可能是为了与其它Windows下的编译器保持兼容,并不能识别这些不带下划线的C变量,因而还得把原先已经在汇编程序中去掉下划线的C变量加上下划线,同时也要把被C程序引用的汇编程序中的变量加上下划线. 2.MinGW中不带as86编译器,因而把boot目录下原先用as86编译的bootsect.s和setup.s两个程序修改成能用nasm编译的程序.并且更名为bootsect.asm和setup.asm. 3.在Makefile作的主要修改: 在LDFLAGS中加了--image-base 0x0000 将elf_i386改成i386pe 将cd 与 make 之间的;改成&,如cd kernel ; make 改成cd kernel & make MinGW中没有sync这个程序,可以把它注释掉,更简单的办法是写一个sync.c,这个sync.c只包含一个空的main函数,编译成sync.exe 因为类似的原因,make dep会出错 4.生成的system文件是PE格式的(PE是Portable Executable的简称),这是windows下的可执行文件的格式,显然是不能直接执行的,必须加以转化.我实现了通过两种方式加以转化. 1)写一个程序Trans.cpp将system.exe里的代码和数据从PE文件里解析出来,生成一个system.bin文件,这个文件是能被setup模块直接加载的.我已经将这个程序放在了Linux-0.11的tools目录下,要微软的编译器编译. 2)自己写一个PE Loader,这种方式比较麻烦,但是想想自己也能做一个PE Loader,还是满有成就感的,尽管这是一个最简单的Loader.代码是加在Linux-0.11-With-PE-Loader\boot目录下的setup.asm文件里,里面有详细的注释. 5.对tools下的build.c作了修改,使其能生成可引导的1.44M的软盘镜像文件Boot.img 6.在Link的过程中,init目录下的main.c会出现以下错误: boot/head.o(.text+0x540c):fake: undefined reference to `_main' init/main.o(.text+0x16f):main.c: undefined reference to `_alloca' init/main.o(.text+0x174):main.c: undefined reference to `__main' make: *** [tools/system.exe] Error 1 第一个和最后一个错误还好理解,但中间那个错误那就莫明其妙了,因为Linux 0.11根本没有这个函数,在gcc的编译选项里也有-nostdinc .有一个解释是main函数不是一个普通的函数,MinGW gcc会对它作特殊的处理.解决的办法其实也很简单,把main.c下面的main函数改名为_main,或者是干脆把它改成另外一个函数,就改成start吧.记得把head.s里的_main也改了. 在最后,要感谢《自己动手写操作系统》的作者于渊,其实我也是先将原先只能在Linux下编译的书里源代码用MinGW移植到Windows下编译的过程中才试着在Windows下编译Linux 0.11源代码的,有了在Windows下编译Linux 0.11源代码的经验,移植高版本的源代码,像0.12,0.95,0.96等等版本应该不会有太大的麻烦了。 也要感谢Linux内核完全注释的作者赵炯博士,是他拉接了操作系统与操作系统爱好者的距离. 最后,我也非常想和操作系统爱好者们共同交流心得体会,也希望能多认识一些朋友. 我的网名:flyfish 我的QQ:785606288 E-mail:[email protected] 另外,要转载请保持本文件的完整性,请尊重别人的劳动果实. 修改日志: 08/3/29 修改了一下Makefile,旧的Makefile在某些文件更新后还会重新编译。 修改了Trans.cpp中的一个dug,该dug在translate MinGW gcc编译的程序时可能会出错。用MinGW gcc 编译的程序的VirtualAddress的形式可能是0xFFC1000这样的形式,其实0x1000才是它的VirtualAddress 08/4/2 修改了下MinGW32.bat,现在已经不用重设路径了。 08/4/4 Trans.cpp还是有错,如果VirtualAddress>0xffff,那么生成的system.bin就错了,bochs调试时会一直重启。 权宜之计,把0xffff再改成0x3ffff,这样VirtualAddress就不能大于0x3ffff,不知谁有更好的解决方法, 08/4/4 实现了gdb+bochs源码级调试linux 0.11 08/4/6 添加了insight,可以在GUI界面里源码调试内核了

2013-11-13

高级算法课件 通俗易懂

分支与限界 算法的复杂性分析 随机算法 动态规划 回溯 排序问题和离散集合的操作 NP完全问题 计算复杂性 下界 近似算法 计算几何问题 图和网络问题 递归和分治 贪婪法 算法的基本概念

2013-11-13

《云计算》刘鹏 第二版 完整版 带书签 (part2)

《云计算》刘鹏 第二版 完整版 带书签 (part2) part1 : http://download.csdn.net/detail/warcraftzhaochen/5108954

2013-03-04

Linux那些事儿之我是USB(第2版)单文件带书签

单文件带书签

2012-10-12

软件工程与项目管理

软件工程与项目管理软件工程与项目管理软件工程与项目管理软件工程与项目管理

2011-09-20

自己编的bash带cd

自己编的bash带cd自己编的bash带cd自己编的bash带cd

2011-09-20

自己编的bash

自己编的bash,最基本的功能\n自己编的bash,最基本的功能

2011-09-20

Linux系统编程

Linux系统编程

2011-09-20

Unix环境高级编程中英文第二版带书签+源码

Unix环境高级编程中英文第二版带书签+源码Unix环境高级编程中英文第二版带书签+源码Unix环境高级编程中英文第二版带书签+源码Unix环境高级编程中英文第二版带书签+源码

2011-09-20

Linux内核完全注释3.0

应该是最新的版本了,前面添加了5章基础知识

2011-09-18

uCOS-II中文手册(可copy版)

uCOS-II中文手册,代码可copyuCOS-II中文手册,代码可copy

2011-09-16

嵌入式实时操作系统uC_OS-II(带书签无水印)

这是第一部分 (带书签无水印)(带书签无水印)(带书签无水印)

2011-09-16

嵌入式实时操作系统uC_OS-II(带书签无水印)part2

这是第二部分这是第二部分 这是第二部分 这是第二部分 这是第二部分

2011-09-16

windows上可编译Linux内核

编译过程: 1). 解压后默认的文件夹位置是在D:\Linux-0.11,如果你不是将文件解压到该目录下, 你要修改MinGW32目录下的MinGW32.bat文件,将里面的PATH指向MinGW32的bin目录. 2). 打开Linux-0.11目录,双击MinGW32.bat快捷方式,打开控制台. 3). make 一下,生成1.44M的Boot.img软盘镜像,要清除编译结果请"make clean" 4). 如果安装了bochs,直接双击bochsrc.bxrc即可运行Linux-0.11了. 5). 也可用其它虚拟机加载Boot.img后运行,如果出现Kernel panic,请把虚拟机里的硬盘删了 6). 在出现Insert root floppy and press ENTER以后,将rootimage-0.11.img载入虚拟软驱,回车 这就是能在windows环境下编译的Linux 0.11了,不是在Cygwin,也不是在虚拟机里,而是使用MinGW. 下面是在Windows下编译Linux 0.11会遇到的问题和对原文件作的修改: 1.赵炯博士已经将汇编程序中引用的C变量(包括嵌入汇编的C变量)的下划线去掉了,但MinGW的gcc可能是为了与其它Windows下的编译器保持兼容,并不能识别这些不带下划线的C变量,因而还得把原先已经在汇编程序中去掉下划线的C变量加上下划线,同时也要把被C程序引用的汇编程序中的变量加上下划线. 2.MinGW中不带as86编译器,因而把boot目录下原先用as86编译的bootsect.s和setup.s两个程序修改成能用nasm编译的程序.并且更名为bootsect.asm和setup.asm. 3.在Makefile作的主要修改: 在LDFLAGS中加了--image-base 0x0000 将elf_i386改成i386pe 将cd 与 make 之间的;改成&,如cd kernel ; make 改成cd kernel & make MinGW中没有sync这个程序,可以把它注释掉,更简单的办法是写一个sync.c,这个sync.c只包含一个空的main函数,编译成sync.exe 因为类似的原因,make dep会出错 4.生成的system文件是PE格式的(PE是Portable Executable的简称),这是windows下的可执行文件的格式,显然是不能直接执行的,必须加以转化.我实现了通过两种方式加以转化. 1)写一个程序Trans.cpp将system.exe里的代码和数据从PE文件里解析出来,生成一个system.bin文件,这个文件是能被setup模块直接加载的.我已经将这个程序放在了Linux-0.11的tools目录下,要微软的编译器编译. 2)自己写一个PE Loader,这种方式比较麻烦,但是想想自己也能做一个PE Loader,还是满有成就感的,尽管这是一个最简单的Loader.代码是加在Linux-0.11-With-PE-Loader\boot目录下的setup.asm文件里,里面有详细的注释. 5.对tools下的build.c作了修改,使其能生成可引导的1.44M的软盘镜像文件Boot.img 6.在Link的过程中,init目录下的main.c会出现以下错误: boot/head.o(.text+0x540c):fake: undefined reference to `_main' init/main.o(.text+0x16f):main.c: undefined reference to `_alloca' init/main.o(.text+0x174):main.c: undefined reference to `__main' make: *** [tools/system.exe] Error 1 第一个和最后一个错误还好理解,但中间那个错误那就莫明其妙了,因为Linux 0.11根本没有这个函数,在gcc的编译选项里也有-nostdinc .有一个解释是main函数不是一个普通的函数,MinGW gcc会对它作特殊的处理.解决的办法其实也很简单,把main.c下面的main函数改名为_main,或者是干脆把它改成另外一个函数,就改成start吧.记得把head.s里的_main也改了. 在最后,要感谢《自己动手写操作系统》的作者于渊,其实我也是先将原先只能在Linux下编译的书里源代码用MinGW移植到Windows下编译的过程中才试着在Windows下编译Linux 0.11源代码的,有了在Windows下编译Linux 0.11源代码的经验,移植高版本的源代码,像0.12,0.95,0.96等等版本应该不会有太大的麻烦了。 也要感谢Linux内核完全注释的作者赵炯博士,是他拉接了操作系统与操作系统爱好者的距离. 最后,我也非常想和操作系统爱好者们共同交流心得体会,也希望能多认识一些朋友. 我的网名:flyfish 我的QQ:785606288 E-mail:[email protected] 另外,要转载请保持本文件的完整性,请尊重别人的劳动果实. 修改日志: 08/3/29 修改了一下Makefile,旧的Makefile在某些文件更新后还会重新编译。 修改了Trans.cpp中的一个dug,该dug在translate MinGW gcc编译的程序时可能会出错。用MinGW gcc 编译的程序的VirtualAddress的形式可能是0xFFC1000这样的形式,其实0x1000才是它的VirtualAddress 08/4/2 修改了下MinGW32.bat,现在已经不用重设路径了。 08/4/4 Trans.cpp还是有错,如果VirtualAddress>0xffff,那么生成的system.bin就错了,bochs调试时会一直重启。 权宜之计,把0xffff再改成0x3ffff,这样VirtualAddress就不能大于0x3ffff,不知谁有更好的解决方法,

2011-09-15

Linux内核完全注释(zc)

Linux内核完全注释

2011-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除