分类目录归档:Windows编程

返回值优化没了 / FPU爆栈 / 线程池疯长 / 连接被重置

标题之所以那么复杂是因为我把本来应该分开写的东西弄在一起了……
这些事情都是在公司里工作(或者摸鱼?)的时候遇到的。有的记下来了有的没有。记下来的这几个,本来说要写到博客上的,结果丢在桌面的便签上这么久了,现在已经从那家公司离职,又入职新的公司做了一年半,这便签上记录的东西一个都还没写。都是两年前的事了吧

继续阅读返回值优化没了 / FPU爆栈 / 线程池疯长 / 连接被重置

WindowsDDK里用std::wstring的问题

今天晚上尝试帮某网友制作一个伪春菜的插件,能够检查两次调用过程中剪贴板里面的东西有没有变化(用GetClipboardSequenceNumber函数)和获取剪贴板里的内容(EnumClipboardFormats和GetClipboardData)。这里都不是重点,重点是我用了 这一篇博客 里面提到的CSaori库来编写。这个库里面的字符是wchar_t类型,这很好,也用了std::basic_string<wchar_t>(其实就是std::wstring),这也很好。不好的地方在于,我为了减小最终DLL的体积、用Windows Driver Kit里面的编译器来编译程序使得动态链接到运行库的时候,报错了。

继续阅读WindowsDDK里用std::wstring的问题

自制导入DLL用的LIB文件

调用DLL早不是什么新话题了。从LoadLibrary和GetProcAddress配合使用的动态加载,到链接导入LIB的静态加载,方法很多。LoadLibrary和GetProcAddress的方法虽然麻烦但是很通用,毕竟调用系统API就可以了,DLL名和函数名和都是字符串形式。导入LIB方式的话,生成DLL的时候会带一个LIB给你,拿来用即可。

后一种方法很方便。这里主要也是讲后一种。

继续阅读自制导入DLL用的LIB文件