自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (11)
  • 收藏
  • 关注

原创 Windows编译动态库时选择是否同时导出静态库

如果只是单纯的编译静态库,最后生成的文件就是一个静态库lib,但是如果编译动态库的话可以选择是否同时导出静态库,有静态库的话编程也方便一点,只要在要导出的函数前面加上__declspec(dllexport)或者extern “C”即可。 如果头文件为了通用,不仅一个平台使用,可以用宏隔开 #ifdef MY_EXPORT #define MY_FUNC_API extern "C" _

2015-07-16 12:53:45 805

原创 添加源文件、头文件编译程序,报error LNK2001: unresolved external symbol

有时候为了通用头文件和源文件,直接复制文件、然后引入头文件,按道理来说,都是源码不会报链接错误,但如果有的工程里面包含一些C编译的库,要用c的方式引入,可能会用到extern "C"{},而这个时候可能有添加的头文件被放入到{}中,导致符号不一致。如果自己的源文件就是为了用C编译,然后用extern "C"{}把代码括进去了,这个时候头文件也得用extern "C"{}包含,总之头文件要和源文件或

2015-07-15 12:41:35 693

原创 定义窄字符串,变形为宽字符串

#define CHAR_STRING          "string" #define _w(x)                         L##x #define w(x)                          _w(x) 如果窄字符串和宽字符串都定义一次有点浪费,而上述方法可以使得一个字符串定义后可以使用w()转定义为宽字符串,要用宽字符床的时候使

2015-07-14 13:39:20 841

原创 do{}while(0)

#define LOG_ERROR(format, ...) \ do { \ SYSTEMTIME _time; \ GetLocalTime(&_time); \ DebugPrint(_T("[%4d-%02d-%02d %02d:%02d:%02d][ERROR][%s,%d] ") format, \ _time.wYear, _time.wMonth, _time.wDay,

2015-07-13 15:58:54 292

原创 HKLM\SOFTWARE\Microsoft\WindowsCurrentVersion\Run里面的启动项不启动了

为了设置开机启动项,往注册表HKLM\SOFTWARE\Microsoft\WindowsCurrentVersion\Run里面添加test 字符串然后修改数据,写入路径即可,还可以传入参数,但是今天发现我的test不管对应的路径是什么都不能启动,但是如果把test换个名字就可以了,百思不得其解。老大过来帮忙找了一下,发现在HKLM\SOFTWARE\Microsoft\WindowsCurre

2015-07-01 10:10:25 7929 1

支持32位系统的msys

据说是最后一个支持32位系统的msys,之前下载了几次没下载下来,偶然发现能下载了,先存一份

2024-01-09

支持win7-32位的msys

解压后放到c盘,双击msys2.exe,就可以运行,由于没有走安装逻辑,双击后会跑一段时间的命令行,然后执行pacman -S gdb就能安装gdb gdb attach 进程ID,就能调试mingw编译的程序,mingw编译的参数要加CFLAGS="-g -O0"

2023-12-12

wdk 7600.iso

微软官方已经更新了wdk 7600,现在最老的wdk是wdk 7600_1,为了方便后续下载,先上传资源

2022-05-06

wdk 6001 18002 示例代码

wdk 6001 18002安装后,提取了src目录,src目录里面是6001的示例代码。7600以后删除了很多示例代码,为了方便研究,单独提取出来以便查阅

2022-05-06

wdk 6001 18002.iso

老版本的wdk,里面有一个老版本的samples,wdk 7600里面删除了部分代码示例,不便于了解框架的推进历程

2022-05-06

SCSI Primary Commands - 3

scsi的基础指令,好多结构在MSDN中没有定义,需要查找文档,此文档包含部分硬盘相关的信息

2022-03-10

从MS-CSVP中解析部分windows结构体

Intellectual Property Rights Notice for Open Specifications Documentation

2022-03-10

api-ms-dll.zip

QT 5.13.0+msvc 2017在windows 10上编译的程序运行在windows7上提示缺少api-ms-win-xxxxxxx.dll,网上一个一个找了缺失的32位的动态库,

2020-04-22

unlocker v3.0 + 老版本的darwin.iso

vmware14上亲测通过,可以安装osx10.14及以前版本的系统,但是v3.0里面的虚拟机工具不好用,所以压缩包分成unlocker目录+darwin.iso,右键以管理员权限执行完unlock-master中的win-install.cmd后,用压缩包根目录的darwin.iso替换D:\Program Files (x86)\VMware\VMware Workstation目录的darwin.iso,大小不一样(3,274K和3,022K,小的是老版本),所以应该很好判断,目录可能不一样。 安装完苹果系统后,不要急着安装虚拟机工具,先进恢复模式终端输入csrutil disable

2019-03-28

cl命令-编译c语言汇编程序

主要用到VC16目录下的cl.exe,用以编译c文件,形成obj文件,借助dos环境下的link命令可以生成com文件

2018-06-01

MASM611:汇编编译工具masm

汇编编译工具,主要用到bin目录下的masm,用以编译asm文件,形成obj文件,借助dos环境下的link命令可以生成com文件

2018-06-01

efibootmgr源码包

Windows操作EFI环境变量的方法为GetFirmwareEnvironmentVariable,SetFirmwareEnvironmentVariable linux系统如果是efi版本会有efibootmgr命令,至于具体实现可以参照efibootmgr的源码,

2015-11-25

uefi编程向导,方便创建uefi工程

建一个uefi的pkg需要很多文件,这个工具可以帮助手动生成部分代码

2015-01-05

空空如也

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

TA关注的人

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