Codejie's C++ Space
Using C++
吃了空:DLL轮子
今天又是吃了空,开始想着把Lingos的内容抓出来,然后保存起来。想着到用HOOK来做,以前用Delphi写过HOOK,还有些印象,于是开始写HOOK的DLL。但打开VC忽然想起,好像自己从来没有从头写过DLL,于是便开始写DLL。。。
都说DLL要有DllMain,要都有.def,真的需要吗?不是我不想写这些,而是不知道该怎么写,一直都是让VC自动生成DLL工程的,这些必要的过程还真的不知道。于是我写了下面的代码。
DLLTest.h
1
#ifndef __DLLMAIN_H__
2
#define
__DLLMAIN_H__
3
4
#define
DllExport __declspec(dllexport)
5
6
extern
"
C
"
int
DllExport Func(
int
x);
7
8
extern
"
C
"
class
DllExport CA
9
{
10
public
:
11
CA(
int
x);
12
virtual
~
CA();
13
14
int
Func(
int
x);
15
private
:
16
int
_x;
17
}
;
18
19
#endif
DLLTest.cpp
1
#include
"
DllMain.h
"
2
3
int
Func(
int
x)
4
{
5
return
x
*
10
;
6
}
7
8
CA::CA(
int
x)
9
: _x(x)
10
{
11
}
12
13
CA::
~
CA()
14
{
15
}
16
17
int
CA::Func(
int
x)
18
{
19
return
x
*
_x;
20
}
编译好,用Depends查看,竟然也有函数导出。。。
这里是测试代码:
1
#include
<
iostream
>
2
3
#include
"
DllMain.h
"
4
5
int
main()
6
{
7
std::cout
<<
Func(
10
)
<<
std::endl;
8
CA a(
100
);
9
std::cout
<<
a.Func(
2
)
<<
std::endl;
10
11
return
0
;
12
}
结果还算正常,只是不知道这样的DLL有啥问题不,会不会对系统有啥影响。。。
<----无知的分割线---->
有人知道怎么使用Library方式,显式调用一个DLL的Class吗?麻烦给解释下吧。。。
posted on 2009-09-23 12:04
codejie
阅读(248)
评论(0)
编辑
收藏
引用
所属分类:
C++
、
随笔而已
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
C++: c++ wrap for libpq
Why the inline function can not be covered?
LingosHook : Development Environment Setup
LingosHook : HTML Data in Android Client
LingosHook: CDocumentOutputObject
LingosHook : Optimize TinyHtmlParser Class
OCI : do NOT debug on TWO different windows
LingosHook:Lingoes生词本第二十五版
LingosHook:1.4.000 and gettext
wxWidget:Catch KEY event of wxStaticBitmap.
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
公告
Using C++
导航
C++博客
首页
新随笔
联系
聚合
管理
统计
随笔 - 350
文章 - 0
评论 - 1501
引用 - 0
留言簿
(73)
给我留言
查看公开留言
查看私人留言
随笔分类
(513)
BoxCatcher(2)
(rss)
C++(93)
(rss)
EL(21)
(rss)
G7(39)
(rss)
I;P(18)
(rss)
LingosHook(93)
(rss)
MacBook Pro(2)
(rss)
MPQ - WOW(43)
(rss)
Raspberry-pi(3)
(rss)
Resource(8)
(rss)
SnakeGo(1)
(rss)
轮子精神(67)
(rss)
随笔而已(110)
(rss)
心情痕迹(13)
(rss)
积分与排名
积分 - 530791
排名 - 30
最新评论
1. re: LingosHook:Donators List
donate link cannot open,
though still cannot use on window server 2008 x64
--wosyem
2. re: C++: c++ wrap for libpq
类不错,可惜不会使用啊。
给一个例子吧。特别
请教 class TParams 怎么样使用?
谢谢啦。
--猪大头
3. re: LingosHook:困难
大神,Lingoes_ListKey的基类是listbox还是listview,上述问题有后续么。。。
--losfuyi
4. re: LingosHook : LingosHook的x64版也来了
codejie大神,现在怎么下载不了LingosHook的x64版呢?
--张三
5. re: LingosHook : LingosHook的x64版也来了
codejie大大,lingoes v2.9.2和这个版本的LingosHook x64不能hook啊,有没有什么方法可以解决呢?lingoes降低版本可以吗?
对了系统是win10
--rexxx_
阅读排行榜
1. LingosHook:Lingoes生词本下载页(48426)
2. 练习:LoadLibrary调用DLL中的Class(25304)
3. GSOAP:添加Header的处理(9448)
4. 使用DirectSound播放MP3文件(6009)
5. LingosHook:Lingoes生词本第二十五版(5746)
评论排行榜
1. LingosHook:Lingoes生词本下载页(188)
2. LingosHook: Compatible with Lingoes 2.9.0(102)
3. LingosHook:Q&A(79)
4. LingosHook : LingosHook的x64版也来了(62)
5. LingosHook: Release 1.6.700(50)