![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 58
muroachanf
这个作者很懒,什么都没留下…
展开
-
不使用汇编在vc中转换类的成员函数为一个线程的通用代码
以前要想把一个成员函数转成一个线程,非要写个封装函数专门强转一下,如果考虑能用性就得写汇编把成员函数指针存起来,因为void*不能与成员指针之间直接强转,只有用汇编来赋值,昨天我突然想到用模版可以完美解决此问题,动手写了几行代码,果然通过了,代码如下templatestruct ThreadObjectMethod{ Object* pThis; void (Object::*原创 2009-06-07 10:54:00 · 701 阅读 · 0 评论 -
不注册dll调用atl实现的com对象
最近做一个通用的com组件调用框架,用一个注册好的factory.dll去创建另一个com.dll里面的接口,返回这个接口给脚本语言用; 结果发现如果是delphi写的dll,没有问题,如果是atl实现的dll,则会报TYPE_E_LIBNOTREGISTERED错误,让我十分郁闷,今天下决心解决,于是跟踪看了下atlcom.h里的代码,发现是GetTI这函数在作怪,代码如下所示 ITypeL原创 2014-03-25 18:42:55 · 1599 阅读 · 0 评论 -
vs2008 编译驱动步骤总结
前段时间学做驱动,但ide一直不好用,我用bat文件编译,在输出栏双击错误信息总不能定位到错误行,十分郁闷,我记得很早以前我直接用nmake来编译是可以在vc 中定位错误行的,奈何换了vs2008就不行了?于是换回vc6,虽然在vista下报了些错,但还是可以用的,继续用bat编译,一样不行,只好自己去改编译选项了,现在2008下的一些编译选项总结如下: c/c++选项下: A 在附加包含目原创 2008-11-04 10:03:00 · 1574 阅读 · 0 评论 -
cppunit在mfc中的用法
●在initinstance中输入如下代码: CppUnit::TestFactoryRegistry®istry =CppUnit::TestFactoryRegistry::getRegistry("IscsiTest"); CppUnit::MfcUi::TestRunnertestRunner; testRunner.addTest(registry.makeTest());原创 2009-03-08 22:14:00 · 764 阅读 · 0 评论 -
mime base64的纯c++加密代码
网上找了数份,总是不对,把delphi的代码抠出来改了下,终于对了,网上记一下,以备翻查 const char CEnBase64Tab[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; const char CFillChar = '='; struct DWORDBytes { uni原创 2011-12-04 21:42:44 · 657 阅读 · 0 评论 -
用vc2010以上版本编译可以在低版本xp和2003的运行程序的方法
一直以来倍受此事困拢,vc2010以上版本编译出的exe或dll总是会引用EncodePointer和DecodePointer两个api,这两个api在xp sp2以下版本上找不到,虽然这种版本用户较少,但总有人在用,微软这贱人又不考虑这种低端用户,无奈之下,只好自己折腾,最终我用过3种方法,记录如下。 1、使用vc2008的库,用2010的编译器。这种方法需要先找一份vc2008的库,而且在原创 2013-07-27 13:00:14 · 1700 阅读 · 0 评论 -
rgs文件研究
①文件完全按照注册表结构定义,如下所示 HKCR { testAtlActiveX.testActiveXControl.1 = s 'testActiveXControl Class' { CLSID = s '{56804753-3EFB-47B9-BDF4-0C3F5D7A99C5}' } testAtlActiveX.testA原创 2009-04-27 21:45:00 · 1413 阅读 · 0 评论 -
wolfssl进行rsa加密
写了点测试代码,记下来 #include "stdafx.h" #include "iostream" #include "wolfssl/wolfcrypt/rsa.h" #pragma comment(lib, "wolfssl.lib") using namespace std; int main() { RsaKey enc, enc2; int ret; RNG rng;原创 2015-10-20 16:13:52 · 4348 阅读 · 0 评论