- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 DLL学习(12)
MFC扩展DLL导出函数和变量 //global.h:MFC扩展DLL导出变量和函数的声明 extern "C" { int AFX_EXT_DATA total; //导出变量 int AFX_EXT_API add( int x, int y ); //导出函数 } //global.cpp:MFC扩展DLL导出变量和函数定义 #include "StdAfx.h"...
2011-01-21 18:14:54
131
原创 DLL学习(11)
编写的特化代码: class AFX_EXT_CLASS CExtDialog : public CDialog //AFX_EXT_CLASS使类可以被导出 { public: CExtDialog( CWnd* pParent = NULL ); enum { IDD = IDD_DLL_DIALOG }; protected: virtual void D...
2011-01-21 18:14:27
177
原创 DLL学习(10)
四 MFC扩展DLL MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。 MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本, 因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使...
2011-01-21 18:13:41
143
原创 DLL学习(9)
动态链接到MFC的规则DLL资源同名问题解决: 1)在DLL接口函数中使用:AFX_MANAGE_STATE(AfxGetStaticModuleState()); 2)在DLL接口函数中使用:AfxGetResourceHandle(); AfxSetResourceHandle(HINSTANCE xxx); 用法: void ShowDlg(void) { ...
2011-01-21 18:13:17
111
原创 DLL学习(8)
调用代码MFC规则DLL 1)显式调用 void CRegularDllCallDlg::OnCalldllButton() { typedef void (*lpFun)(void); HINSTANCE hDll; //DLL句柄 hDll = LoadLibrary("RegularDll.dll"); if (NULL==hDll) { MessageB...
2011-01-21 18:12:56
111
原创 DLL学习(7)
第二组文件 自定义对话框类声明及实现 #if !defined(AFX_DLLDIALOG_H__CEA4C6AF_245D_48A6_B11A_A5521EAD7C4E__INCLUDED_) #define AFX_DLLDIALOG_H__CEA4C6AF_245D_48A6_B11A_A5521EAD7C4E__INCLUDED_ #if _MSC_VER > 1000 #pr...
2011-01-21 18:12:22
110
原创 DLL学习(6)
三 MFC规则DLL 1 “是MFC的”意味着可以在这种DLL的内部使用MFC 2 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC,但是其与应用程序的接口不能是MFC。 而MFC扩展DLL与应用程序的接口可以是MFC,可以从MFC扩展DLL中导出一个MFC类的派生类。 分两类: 1)静态链接到MFC的规则DLL 静态链接到MFC的规...
2011-01-21 13:24:13
105
原创 DLL学习(5)
7 导出类 代码例子: //文件名:point.h,point类的声明 #ifndef POINT_H #define POINT_H #ifdef DLL_FILE class _declspec(dllexport) point //导出类point #else class _declspec(dllimport) point //导入类point #endif { ...
2011-01-21 13:23:34
112
原创 DLL学习(4)
6 DLL导出变量 代码: //lib.h #ifndef LIB_H #define LIB_H extern int dllGlobalVar; #endif //lib.cpp #include "lib.h" #include int dllGlobalVar; BOOL APIENTRY DllMain(HANDLE hModule, DWORD u...
2011-01-21 13:22:59
89
原创 DLL学习(3)
5 DllMain函数 Windows在加载DLL的时候,需要一个入口函数,就如同控制台或DOS程序需要main函数、WIN32程序需要WinMain函数一样。 在前面的例子中,DLL并没有提供DllMain函数,应用工程也能成功引用DLL,这是因为Windows在找不到DllMain的时候, 系统会从其它运行库中引入一个不做任何操作的缺省DllMain函数版本,并不意味着DLL可以放弃Dl...
2011-01-21 13:22:25
119
原创 DLL学习(2)
3 声明DLL导出函数的两种方式:__declspec(dllexport) 和def文件定义 def文件的规则为: (1)LIBRARY语句说明.def文件相应的DLL; (2)EXPORTS语句后列出要导出函数的名称。可以在.def文件中的导出函数名后加@n,表示要导出函数的序号为n (在进行函数调用时,这个序号将发挥其作用); (3).def 文件中的注释由每个...
2011-01-21 13:21:44
92
原创 DLL学习(1)
一 静态库 1 需要编译库时的头文件 2 需要.lib库文件 3 函数定义:extern "C" //声明为C编译、连接方式的外部函数 4 #pragma comment( lib, "..\\debug\\libTest.lib" ) //指定与静态库一起连接 二 普通DLL 1 extern "C" int __declspec(dllexport) //声明函数为DLL的...
2011-01-21 13:21:02
156
原创 分割文件
import os import sys import string files = [ '1101.txt', '1103.txt', '1104.txt', '1105.txt', '1106.txt', '1107.txt'] test=['1107.txt'] if __name__ == '__main__': for name in fi...
2010-11-06 14:13:53
116
原创 c++调用DLL
示例一: //dllTest.h file #ifndef DLL_H #define DLL_H #if BUILDING_DLL #define DLLIMPORT _declspec(dllimport) #else #define DLLIMPORT _declspec(dllexport) #endif class TestClass { private...
2010-08-11 13:51:31
102
原创 打印路径下所有文件名
# -*- coding: utf-8 -*- import os import sys def listfile(dir=None): if dir is None: dir = raw_input("Enter the list path:") files = os.listdir(dir) for item in files: if os....
2010-08-10 12:39:12
397
原创 sql语句调优
对于索引的认识 1 当在where语句中存在is null 或者 is not null时,索引不能被使用 2 在where语句中出现联结的列(||)时,索引不能被使用,可通过函数进行拆分 3 使用"%CHAR%"通配符,索引不能被使用,而使用"CHAR%"时索引可被使用 4 任何在order by语句的非索引项或者有计算表达式都降低查询速度 5 NOT语句不能使用索引,可转化为相关的表...
2010-07-30 12:46:17
91
原创 oracle学习笔记(1)
SQL *Plus命令 SQL>n --行号 SQL>c/old_value/new_value SQL>@filename.sql SQL>list SQL>del n SQL>append SQL>clear buffer SQL>input SQL>run SQL>spool filename SQL>spool off SQL>save filename ...
2010-07-30 12:46:02
92
原创 oracle学习笔记(2)
连接 自然连接:自动连接多个表中相同列名,当有多个相同列名时,返回为全部相同列的连接比较 select ename, deptno, dname from emp natural join dept; 产生笛卡尔积 select col1, col2 from table1 cross join table2; 外连接 a和b进行连接,如果要完全显示a,就在b条件上加一个(+),不带+...
2010-07-30 12:45:53
88
原创 oracle学习笔记(3)
生成表 --临时表,存在于事务范围或会话范围,供全体用户使用 create global temporary table temp_emp (empno number, ename varchar2(10)); create table emp_copy as select * from emp where deptno = 10; create table emp_copy (...
2010-07-30 12:45:41
75
原创 oracle学习笔记(4)
--添加约束 alter table emp add constraint pk_emp primary key (empid); alter table emp add constraint fk_emp foreign key (empnum); alter table emp add constraint ck_emp check (salary
2010-07-30 12:45:27
85
原创 oracle学习笔记(5)
序列 create sequence seq_test start with 20 increment by -1 maxvalue 20 minvalue 0 cycle order cache 2; select seq_test.nextval from dual; alter sequence seq_next nocycle|increment by -4; d...
2010-07-30 12:45:14
75
原创 oracle学习笔记(6)
创建管理员 create user username identified by password 授予权限 grant dba to username grant sysdba to username 启动一个实例,装配和打开一个数据库 startup[nomount|mount] 限制模式启动实例 startup restrict alter system disable[e...
2010-07-30 12:44:50
73
socket程序socket程序socket程序
2010-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人