- 博客(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 117
原创 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 155
原创 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 125
原创 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 90
原创 DLL学习(8)
调用代码MFC规则DLL1)显式调用void CRegularDllCallDlg::OnCalldllButton() { typedef void (*lpFun)(void); HINSTANCE hDll; //DLL句柄 hDll = LoadLibrary("RegularDll.dll"); if (NULL==hDll) { MessageB...
2011-01-21 18:12:56 96
原创 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 92
原创 DLL学习(6)
三 MFC规则DLL1 “是MFC的”意味着可以在这种DLL的内部使用MFC2 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC,但是其与应用程序的接口不能是MFC。 而MFC扩展DLL与应用程序的接口可以是MFC,可以从MFC扩展DLL中导出一个MFC类的派生类。分两类:1)静态链接到MFC的规则DLL 静态链接到MFC的规...
2011-01-21 13:24:13 87
原创 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 91
原创 DLL学习(4)
6 DLL导出变量代码://lib.h#ifndef LIB_H#define LIB_Hextern int dllGlobalVar;#endif//lib.cpp #include "lib.h"#include int dllGlobalVar;BOOL APIENTRY DllMain(HANDLE hModule, DWORD u...
2011-01-21 13:22:59 68
原创 DLL学习(3)
5 DllMain函数Windows在加载DLL的时候,需要一个入口函数,就如同控制台或DOS程序需要main函数、WIN32程序需要WinMain函数一样。在前面的例子中,DLL并没有提供DllMain函数,应用工程也能成功引用DLL,这是因为Windows在找不到DllMain的时候,系统会从其它运行库中引入一个不做任何操作的缺省DllMain函数版本,并不意味着DLL可以放弃Dl...
2011-01-21 13:22:25 104
原创 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 78
原创 DLL学习(1)
一 静态库1 需要编译库时的头文件2 需要.lib库文件3 函数定义:extern "C" //声明为C编译、连接方式的外部函数4 #pragma comment( lib, "..\\debug\\libTest.lib" ) //指定与静态库一起连接二 普通DLL1 extern "C" int __declspec(dllexport) //声明函数为DLL的...
2011-01-21 13:21:02 134
原创 分割文件
import osimport sysimport stringfiles = ['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 102
原创 c++调用DLL
示例一://dllTest.h file#ifndef DLL_H#define DLL_H#if BUILDING_DLL#define DLLIMPORT _declspec(dllimport)#else#define DLLIMPORT _declspec(dllexport)#endifclass TestClass{private...
2010-08-11 13:51:31 87
原创 打印路径下所有文件名
# -*- coding: utf-8 -*-import osimport sysdef 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 377
原创 sql语句调优
对于索引的认识1 当在where语句中存在is null 或者 is not null时,索引不能被使用2 在where语句中出现联结的列(||)时,索引不能被使用,可通过函数进行拆分3 使用"%CHAR%"通配符,索引不能被使用,而使用"CHAR%"时索引可被使用4 任何在order by语句的非索引项或者有计算表达式都降低查询速度5 NOT语句不能使用索引,可转化为相关的表...
2010-07-30 12:46:17 71
原创 oracle学习笔记(1)
SQL *Plus命令SQL>n --行号SQL>c/old_value/new_valueSQL>@filename.sqlSQL>listSQL>del nSQL>appendSQL>clear bufferSQL>inputSQL>runSQL>spool filenameSQL>spool offSQL>save filename...
2010-07-30 12:46:02 75
原创 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 70
原创 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 60
原创 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 73
原创 oracle学习笔记(5)
序列create sequence seq_teststart with 20increment by -1maxvalue 20minvalue 0cycleordercache 2;select seq_test.nextval from dual;alter sequence seq_next nocycle|increment by -4;d...
2010-07-30 12:45:14 65
原创 oracle学习笔记(6)
创建管理员create user username identified by password授予权限grant dba to usernamegrant sysdba to username启动一个实例,装配和打开一个数据库startup[nomount|mount]限制模式启动实例startup restrictalter system disable[e...
2010-07-30 12:44:50 64
socket程序socket程序socket程序
2010-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人